56th ROOT Parallelism, Performance and Programming Model Meeting
Present: Guilherme, Stefan, Stephan, Enrico, Javi, Jim, Oliver Lantwin, Enric, Danilo, Xavi, Pere
Follow up:
- Guilherme will figure out what happens with the vectorised instructions since the libROOTVecOps should provide those
Python executable:
- Slide 5: one can use a RAII to decrement the reference count to avoid potential leak0
- Slide 5: the new Py3 syntax to decorate variables with a type annotation. A better syntax with the same functionality!
- Slide 5: maybe another namespace name for the compiled callables would be ideal, more expressive or the user and with less clashes.
-Slide 7: A suggestion is that the error message could be reformulated so to transmit the message that the error occourred in the trampoline and not in the function itself.
- Slide 8: The feeling is that we would like to explore a bit more in depth the possibility to pass to the callables numpy arrays. This could be handled with some converter, for example to RVec.
- Slide 11: Is it possible to remove the string in the Define and pass directly the Python callable? This boils down to a smart set of pythonisations.
- Slide 13: The wrapper can be avoided, you can just assign the function pointer to the right function pointer. Maybe the name "DeclareNumbaCallable" should not appear: can this be the name of the backend as an argument?
There seems to be agreement about the need of trying to jit the code with numba and in case of error, print a nice and clear message w/o falling back to the slow version silently.