Visible to Intel only — GUID: GUID-388B2B01-B8C0-4CEC-A39E-1B826D435E15
Intel® oneAPI Math Kernel Library (oneMKL)
The Intel® oneAPI Math Kernel Library (oneMKL) is a computing math library of highly optimized and extensively parallelized routines for applications that require maximum performance. oneMKL contains the high-performance optimizations from the full Intel® Math Kernel Library for CPU architectures (with C/Fortran programming language interfaces) and adds to them a set of SYCL* interfaces for achieving performance on various CPU architectures and Intel Graphics Technology for certain key functionalities. oneMKL provides BLAS and LAPACK linear algebra routines, fast Fourier transforms, vectorized math functions, random number generation functions, and other functionality.
You can use OpenMP* offload to run standard oneMKL computations on Intel GPUs. Refer to OpenMP* offload for C interfaces and OpenMP* offload for Fortran interfaces for more information.
The new SYCL interfaces with optimizations for CPU and GPU architectures have been added for key functionality in the following major areas of computation:
BLAS and LAPACK dense linear algebra routines
Sparse BLAS sparse linear algebra routines
Random number generators (RNG)
Vector Mathematics (VM) routines for optimized mathematical operations on vectors
Fast Fourier Transforms (FFTs)
For the complete list of features, documentation, code samples, and downloads, visit the official Intel oneAPI Math Kernel Library website. If you plan to use oneMKL as part of the oneAPI Base Toolkit, consider that priority support is available as a paid option. For Intel community-support, visit the oneMKL forum. For the open-source oneMath project, visit the oneMath GitHub* page.
The table below describes the difference in these sites:
Defines the SYCL interfaces for performance math library functions. The oneMath specification can evolve faster and more frequently than implementations of the specification. |
|
An open source implementation of the specification. The project goal is to demonstrate how the SYCL interfaces documented in the oneMath specification can be implemented for any math library and work for any target hardware. While the implementation provided here may not yet be the full implementation of the specification, the goal is to build it out over time. We encourage the community to contribute to this project and help to extend support to multiple hardware targets and other math libraries. |
|
The Intel product has SYCL interfaces that are very similar to the oneMath specification as well as similar functionality with C and Fortran interfaces, and is provided as part of Intel® oneAPI Base Toolkit. It is highly optimized for Intel CPU and Intel GPU hardware and is used for the Intel backends of the oneMath open-source project. |