The oneAPI Math Kernel Library (oneMKL) defines a set of fundamental mathematical routines for use in high-performance computing and other applications. As part of oneAPI, oneMKL is designed to allow execution on a wide variety of computational devices: CPUs, GPUs, FPGAs, and other accelerators. The functionality is subdivided into several domains: dense linear algebra, sparse linear algebra, discrete Fourier transforms, random number generators and vector math.
The general assumptions, design features and requirements for the oneMKL library and host-to-device computational routines will be described in oneMKL Architecture. The individual domains and their APIs are described in oneMKL Domains. Other design considerations that are not necessarily part of the oneMKL specification but that are worth mentioning will be discussed in oneMKL Appendix.