SciPy 2024 poster content

Portable Data-Parallel Extensions with oneAPI

by Nikita Grigorian and Oleksandr Pavlyk

This poster is intended to introduce writing portable data-parallel Python extensions using oneAPI.

We present several examples, starting with the basics of initializing a USM (unified shared memory) array, then a KDE (kernel density estimation) with pure DPC++/Sycl, then a KDE Python extension, and finally how to write a portable Python extension which uses oneMKL.

The examples can be found here.


About oneAPI

A brief overview of oneAPI and the programming model

First DPC++ app

A SYCL and DPC++ “Hello, World!” example.

KDE DPC++ example

KDE (kernel density estimation) example using SYCL and DPC++.

KDE Python extension

KDE (kernel density estimation) Python extension example.

oneMKL Python extension

A Python extension written using oneMKL interfaces.