Speaker
Description
Modern high-energy physics workflows rely heavily on large-scale computation, where performance bottlenecks often emerge as data sizes grow. This talk explores various dispatching mechanisms incorporated in libraries like NetworkX (Graphs), NumPy (Arrays) and scikit-image, and how they enable code acceleration across heterogeneous backends such as GPUs, distributed arrays, CPU parallelism, or even different programming languages. We’ll walk through how Python entry-points, array protocols like __array_function__ and the Array API standards unify user-APIs while dynamically selecting the fastest backend implementation at runtime. A demo will show how existing pure Python code can achieve significant speedups by seamlessly dispatching across GPUs, multiple CPU cores, and HPC environments-- or even to an implementation written in a different language-- without major code changes. Attendees and maintainers will gain insights into adopting dispatching mechanisms to accelerate existing scientific and HEP workflows with minimal code changes. The talk might also be helpful to folks working with large graph or array data.