72nd ROOT Parallelism, Performance and Programming Model Meeting

Europe/Zurich
4/S-030 (CERN)

4/S-030

CERN

30
Show room on map
Enric Tejedor Saavedra (CERN), Stephan Hageboeck (CERN)

Conclusions/decisions:

- Restructuring of the Numpy-related features: normally users will look for information about a particular class, and from the documentation of that class, try to find if it can interoperate with Numpy. This means that grouping all the Numpy conversion functions in the ROOT.Numpy namespace might not be the best approach. Instead, we can keep all those functions where they are now, and use a similar approach with Python properties to lazily access free functions in namespaces (one property per namespace, which replaces itself once the namespace has been loaded and the function injection is done).

- DeclareCppCallable: we will not have a fallback mode that just runs the Python callable from C++ anymore. This mode is slow and we don't want people to use it. If in the future users request such mode, we can add it with an option similar to Numba's nopython=False. On the other hand, the decorator will be called ROOT.Numba.Declare, to flag it is using Numba and to shorten its name a bit (Declare is also the same as TInterpreter::Declare).

There are minutes attached to this event. Show them.
    • 16:00 16:20
      Modernising RooFit's Categories 20m
      Speaker: Stephan Hageboeck (CERN)
    • 16:20 16:50
      Fantastic features and where to find them 30m

      Restructuring the numpy integration in PyROOT.

      Speakers: Enric Tejedor Saavedra (CERN), Stefan Wunsch (KIT - Karlsruhe Institute of Technology (DE))
    • 16:50 17:20
      Redesign of DeclareCppCallable 30m
      Speakers: Enrico Guiraud (CERN, University of Oldenburg (DE)), Stefan Wunsch (KIT - Karlsruhe Institute of Technology (DE))