151st ROOT Parallelism, Performance and Programming Model Meeting

Europe/Zurich
32/S-C22 (CERN)

32/S-C22

CERN

17
Show room on map
Marta Czurylo (CERN), Vincenzo Eduardo Padulano (CERN)
    • 16:00 17:30
      CUDA usage in ROOT 1h 30m
      Speaker: Jonas Rembser (CERN)

      # Meetings notes

      These are the minutes of the discussion after the presentation.

      Jonas H.:

      * On the host compiler, you can directly use the runtime API

      Axel:

      * CUDA is probably there to stay
      * But it is probably not the final answer
      * What does common code mean for the community?
      * EP project maybe at some point

      Bernhard:

      * CUDA is the dominant choice in the ecosystem
      * Some teams create portability layers
       * problem is often that backends are defined statically
      * What the portability layers are doing is probably similar to what RooFit already does?
      * How can ROOT work with many hardware accelerators without re-compiling?
      * Better not expose users to interfaces like CUDA

      Axel:

      * The abstraction layer should be at the level at string expressions

      Jolly:

      * With `computecpp` you need to recompile wor archs
      * With openSYCL you don't need to do that, and the user can specify how the appropriate device is chosen

      Bernhard:

      * In alpaca: users allowed to define any callable that works on a point in index space in C++

      Jonas H.:

      * Better not expose at the C++ code, e.g. OpenCL was based purely on strings

      Bernard:

      * There is also the C++ parallel STL

      Axel:

      * we will have an Origin implementing SYCL in Cling

      Lorenzo:

      * we should also write tutorials and tests for CUDA and Cling