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

PoC of GPU processing function interface

Details

    • Enabler
    • Not Assigned
    • PI10
    • COM SDP SW
    • None
    • Data Processing
    • Hide

      To deal with the steep computational requirements of the SDP, we will need to involve accelerators as well as distribution across multiple nodes. This means that we need a flexible and performant solution for interfacing data between processing functions and execution engines.

      Show
      To deal with the steep computational requirements of the SDP, we will need to involve accelerators as well as distribution across multiple nodes. This means that we need a flexible and performant solution for interfacing data between processing functions and execution engines.
    • Hide
      • Explore challenges in binding GPU processing functions in a modular fashion using standardised APIs
      Show
      Explore challenges in binding GPU processing functions in a modular fashion using standardised APIs Investigate suitability of interface draft for gridder in https://confluence.skatelescope.org/display/SWSI/Gridding%3A+Interface+draft Document chosen API, including rationale Demonstrate using a non-trivial kernel relevant to radio astronomy. Stretch: Synchronise with SP-1551 so we could demonstrate integrating a GPU kernel over the same interface in follow-up work.
    • 4
    • 4
    • 6.25
    • Team_NZAPP, Team_SIM
    • Sprint 5
    • Hide

      1. Introduction, background and summary of the approach written and available on SKA Google Drive folder at https://docs.google.com/document/d/1Km7kfisGIW1J9FRPU1KlHJlkVF-kO0eON-qB5ITyNxU/edit?usp=sharing
      2. Cuda implementation prepared by NZAPP on GitLab at https://gitlab.com/ska-telescope/sdp/ska-gridder-nifty-cuda
      3. Python wrapper prepared by SIM on GitLab at https://gitlab.com/ska-telescope/sdp/ska-gridder-nifty-cuda/-/tree/sim-874-python-wrapper/python
      4. Initial feedback as a result of the Nifty gridder implementation work provided on the Gridding: Interface draft page at https://confluence.skatelescope.org/display/SWSI/Gridding%3A+Interface+draft

      Show
      1. Introduction, background and summary of the approach written and available on SKA Google Drive folder at https://docs.google.com/document/d/1Km7kfisGIW1J9FRPU1KlHJlkVF-kO0eON-qB5ITyNxU/edit?usp=sharing 2. Cuda implementation prepared by NZAPP on GitLab at https://gitlab.com/ska-telescope/sdp/ska-gridder-nifty-cuda 3. Python wrapper prepared by SIM on GitLab at https://gitlab.com/ska-telescope/sdp/ska-gridder-nifty-cuda/-/tree/sim-874-python-wrapper/python 4. Initial feedback as a result of the Nifty gridder implementation work provided on the Gridding: Interface draft page at https://confluence.skatelescope.org/display/SWSI/Gridding%3A+Interface+draft
    • 12.4
    • Stories Completed, Outcomes Reviewed, NFRS met, Demonstrated, Satisfies Acceptance Criteria, Accepted by FO

    Description

      Sibling feature to SP-1551 with specific focus on GPUs. Again, we need to test our ability to interface GPU kernels to pipelines in a standardised fashion. If we keep with the Plasma/Arrow route, the focus should be roughly as follows:

      • Memory management, especially concerning the question of GPU data transfers. It is expected that GPU memory transfers should be handled on the caller side to minimise copies.
      • (metadata: as appropriate)
      • Performance: Do we get significant performance impact from going over such interfaces? Can we, say, guarantee alignment properly in all cases?
      • What about GPU synchronisation issues? How would we integrate completion callbacks into the framework? Does the GPU driver provide this for us, or would we go via Plasma?

      Suggested processing function might be a direct fourier transform (simple and really good for GPU) or gridding (more complex, but might lead to more insight).

      Attachments

        Issue Links

          Structure

            Activity

              People

                p.wortmann Wortmann, Peter
                r.brederode Brederode, Ray
                Votes:
                0 Vote for this issue
                Watchers:
                3 Start watching this issue

                Feature Progress

                  Story Point Burn-up: (100.00%)

                  Feature Estimate: 4.0

                  IssuesStory Points
                  To Do00.0
                  In Progress   00.0
                  Complete2162.5
                  Total2162.5

                  Dates

                    Created:
                    Updated:
                    Resolved:

                    Structure Helper Panel