Why use oneAPI in Python

Here is a summary of why we think Scientific Python community should embrace oneAPI

  1. oneAPI is an open, cross-industry, standards-based, unified, multiarchitecture, multi-vendor programming model.
  2. DPC++ compiler is being developed in open-source, see http://github.com/intel/llvm, and is being upstreamed into LLVM project itself.
  3. Open source compiler supports variety of backends, including oneAPI Level-Zero, OpenCL(TM), NVIDIA(R) CUDA(R), and HIP.
  4. oneAPI Math Kernel Library (oneMKL) Interfaces supports a collection of third-party libraries associated with supported backends permitting portability.

With these features in mind, and DPC++ runtime being compatible with compiler toolchain used to build CPython itself, use of oneAPI promises to enable Python extensions to leverage a variety of accelerators, while maintaining portability of Python extensions across different heterogenous systems, from HPC clusters and servers to laptops.