Portable data-parallel Python extensions using oneAPI

Track:
Jupyter and Scientific Python
Type:
Poster
Level:
intermediate
Duration:
60 minutes

Abstract

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.