The following talk is scheduled for 12/5/2023 during the public meeting:
Numba-dpex: A portable accelerator programming extension for Numba.
The Intel Python engineering team is working on a portable accelerator programming extension for Numba (numba-dpex) that will support different types of devices: discrete and integrated GPUs from different hardware vendors, multi-core CPUs, and possibly other types of devices such as FPGAs. In the talk, engineers from Intel will present an overview of the numba-dpex package and go over the architecture of the extension and some of the implementation details. The key aspects of numba-dpex that will be discussed are:
- A generic kernel programming API that is modeled on the SYCL  language.
- A programming model for device selection and kernel dispatch based on the Python Array API standard .
- An implementation specification for pluggable backends for the kernel programming API using Numba’s “target-specific overload” feature.
Note: Target-specific overloads allow defining multiple implementations of a function each decorated with Numba’s “overload” decorator with the “target” keyword assigned to a specific code generation target context. Based on interest and time availability, other features that are already available in or planned in numba-dpex can also be covered.