EuroPython 2025

Portable data-parallel Python extensions using oneAPI
2025-07-16 , Main Hall C

The Unified Acceleration Foundation (UXL), under the umbrella of Linux Foundation, is driving an open standard accelerator software ecosystem that includes compilers and performance libraries. This software ecosystem standardizes programming different types of accelerators, such as multi-core CPUs, GPUs, some FPGAs, etc. from different vendors. This poster presents the ongoing work to extend the UXL software ecosystem to Python. The UXL Python ecosystem enables building portable, data-parallel Python extensions using standard Python tooling using scikit-build, meson and popular extension generators such as Cython or pybind11.

We showcase sample Python extension that can target multiple types of accelerators in the same Python session, including NVIDIA, AMD, and Intel GPUs.


Expected audience expertise:

Intermediate

I am a physicist by education and have been working as a maintainer of dpctl for about 3 years, working to bring to Python performant data-parallel solutions that are portable to (nearly) any accelerator.