Uploaded image for project: 'SAFe Program'
  1. SAFe Program
  2. SP-2181

Improvements to CUDA Nifty Gridder

Details

    • Feature
    • Should have
    • PI13
    • COM SDP SW
    • None
    • Data Processing
    • Hide

      Gridding and degridding functions are critical to multiple future SDP imaging pipelines and are therefore ideal candidates for developing as initial core functions of an SDP processing function library that we can take forward and evolve during construction as a product that provides the building blocks for performant, scalable SDP pipelines.

      Work in PI12 has identified a number of important next steps to improve this code for use within SDP pipelines where some use has already been made and is being planned to continue into PI13.

      Show
      Gridding and degridding functions are critical to multiple future SDP imaging pipelines and are therefore ideal candidates for developing as initial core functions of an SDP processing function library that we can take forward and evolve during construction as a product that provides the building blocks for performant, scalable SDP pipelines. Work in PI12 has identified a number of important next steps to improve this code for use within SDP pipelines where some use has already been made and is being planned to continue into PI13.
    • Hide
      • Existing Nifty Gridder code migrated to the new SDP Processing Function library once this is ready (SP-2084).
      • Timeboxed activity to make improvements to the CUDA Nifty Gridder code following the notes in the description.
      Show
      Existing Nifty Gridder code migrated to the new SDP Processing Function library once this is ready ( SP-2084 ). Timeboxed activity to make improvements to the CUDA Nifty Gridder code following the notes in the description.
    • 3
    • 3
    • 5
    • 1.667
    • Team_NZAPP
    • Sprint 5
    • Hide

      See comments

      Show
      See comments
    • 14.2
    • Stories Completed, Integrated, Outcomes Reviewed, NFRS met, Demonstrated, Satisfies Acceptance Criteria, Accepted by FO
    • PI22 - UNCOVERED

    • SPO-1454

    Description

      New functionality that could be worked on in a (potential) decreasing order of importance:

      • The functions in the current version of CNG take a Boolean variable do_wstacking which essentially chooses between a 2D and 3D gridder.  However this is currently ignored and assumed to be true, and the 2D gridder would be useful for debugging. 
      • This version of CUDA Nifty Gridder (CNG) is based on the code at https://gitlab.mpcdf.mpg.de/ift/nifty_gridder but there is a more recent version at https://gitlab.mpcdf.mpg.de/mtr/ducc.  So CNG should be checked against that. 
      • The oversampling of the uv-grid vs the image is hardcoded at 2.0x in the currrent version.  But other values would be of interest, like maybe 1.5x or 1.2x?  The benefit is saving memory usage, possibly at the expense of some accuracy.
      • The reference code at DUCC also includes a mask matrix that allows some visibilities to be ignored, this is not yet available in CNG.
      • The exponential of semicircle kernels are not normalised (L2 norm around 3.5).  This consistent with the reference code, but is it correct?
      • There is a final w-dependent scaling in the Nifty Gridder paper, but not the reference code.  This  has been implemented in CNG, but it is not enabled, in order to be consistent with the reference code.  This could be tested against an image generated with a direct Fourier transform, and made an option.
      • Only ms2dirty() and dirty2ms() have been implemented in CNG so far, but there are many other functions in the reference Nifty gridder.  Although they are not yet used by RASCIL.

      There are of course other issues that may come up once someone is using CNG in earnest.

      Attachments

        Issue Links

          Structure

            Activity

              People

                b.mort Mort, Ben
                A.Griffin Griffin, Anthony
                Votes:
                0 Vote for this issue
                Watchers:
                1 Start watching this issue

                Feature Progress

                  Story Point Burn-up: (100.00%)

                  Feature Estimate: 3.0

                  IssuesStory Points
                  To Do00.0
                  In Progress   00.0
                  Complete1216.0
                  Total1216.0

                  Dates

                    Created:
                    Updated:
                    Resolved:

                    Structure Helper Panel