oneMKL is an open-source implementation of the oneMKL Data Parallel C++ (DPC++) interface according to the oneMKL specification. The library provides backends for CUDA as well as Intel MKL. In addition, it is possible to dynamically select a backend based on a SYCL queue.
Our example should demonstrate how dpctl's infrastructure can be used to easily create a Python module for oneMKL.
A high-level design can we as follows:
oneMKL is an open-source implementation of the oneMKL Data Parallel C++ (DPC++) interface according to the oneMKL specification. The library provides backends for CUDA as well as Intel MKL. In addition, it is possible to dynamically select a backend based on a SYCL queue.
Our example should demonstrate how dpctl's infrastructure can be used to easily create a Python module for oneMKL.
A high-level design can we as follows:
onemkl::gemmroutine asmatmul.matandvecthat are based ondpctl.tensor.usm_ndarray.SyclQueue,mat, and optionally a list ofSyclEventobjects and return aSyclEventobject.SyclTimerto time execution.Numpy.ndarray.