Intel® oneAPI Math Kernel Library
The fastest and most-used math library for Intel®-based systems.† Accelerate math processing routines, increase application performance, and reduce development time.
Intel®-Optimized Math Library for Numerical Computing
Optimized Library for Scientific Computing
- Enhanced math routines enable developers and data scientists to create performant science, engineering, or financial applications
- Core functions include BLAS, LAPACK, sparse solvers, fast Fourier transforms (FFT), random number generator functions (RNG), summary statistics, data fitting, and vector math
- Optimizes applications for current and future generations of Intel® CPUs, GPUs, and other accelerators
- Is a seamless upgrade for previous users of the Intel® Math Kernel Library (Intel® MKL)
What's New
- Additional matrix multiply optimizations for next generation CPUs and GPUs including DGEMM, SGEMM, Systolic GEMM, DGETRF, DPOTRF, DGEQRF, FFT SP/DP, and RNG functions.
- Increased CUDA* library function API compatibility coverage for BLAS, LAPACK, sparse BLAS, vector math, summary statistics, splines, and more, easing code migration to oneAPI and Intel GPUs.
- Several optimizations and features on Intel® Data Center GPU Max Series:
- FFTW3 Fortran OpenMP* offload APIs for real fast Fourier Transforms (FFT) and optimizations for 1D and 2D FFTs.
- Gaussian inverse cumulative distribution function (ICDF)-based method and RNG optimizations of device APIs.
- Sparse BLAS optimizations for sparse::gemv() and sparse::gemm() across a wide range of matrix sizes and sparse::matmat() for small, medium, and large problem sizes.
- Optimizations for Cholesky inverse, triangular matrix inverse, and batch group LU inverse on GPUs.
- Support for Intel® Advanced Matrix Extensions (Intel® AMX) bfloat16 data type and Intel® Advanced Vector Extensions 512 (Intel® AVX-512) float16 data type for the 4th generation Intel® Xeon® Scalable processor.
What You Need
- The Intel® oneAPI Math Kernel Library (oneMKL) is available as part of the Intel® oneAPI Base Toolkit.
- Using oneMKL with Intel® MPI library or Intel® Fortran Compilers requires the Intel® oneAPI HPC Toolkit.
Download as Part of the Toolkit
oneMKL is included in the Intel oneAPI Base Toolkit, which is a core set of tools and libraries for developing high-performance, data-centric applications across diverse architectures.
Download the Stand-Alone Version
A stand-alone download of oneMKL is available. You can download binaries from Intel or choose your preferred repository.
Develop in the Cloud
Build and optimize oneAPI multiarchitecture applications using the latest optimized Intel® oneAPI and AI tools, and test your workloads across Intel® CPUs and GPUs. No hardware installations, software downloads, or configuration necessary. Free for 120 days with extensions possible.
Help oneMKL Evolve
oneMKL is part of the oneAPI industry standards initiative. We welcome you to participate.
Features
Linear Algebra
Speed up linear algebra computations with low-level routines that operate on vectors and matrices, and are compatible with these industry-standard BLAS and LAPACK operations:
- Level 1: Vector-vector operations
- Level 2: Matrix-vector operations
- Level 3: Matrix-matrix operations
Sparse Linear Algebra Functions
Perform various operations on sparse matrices with low-level and inspector-executor routines including the following:
- Multiply sparse matrix with dense vector
- Multiply sparse matrix with dense matrix
- Solve linear systems with triangular sparse matrices
- Solve linear systems with general sparse matrices
Fast Fourier Transforms (FFT)
Transform a signal from its original domain (typically time or space) into a representation in the frequency domain and back. Use FFT functions in one, two, or three dimensions with support for mixed radices. The supported functions include complex-to-complex and real-to-complex transforms of arbitrary length in single-precision and double-precision.
Random Number Generator Functions (RNG)
Use common pseudorandom, quasi-random, and nondeterministic random number engines to solve continuous and discrete distributions.
Data Fitting
Provide spline-based interpolation capabilities that you can use to approximate functions, function derivatives or integrals, and perform cell search operations.
Vector Math
Balance accuracy and performance with vector-based elementary functions. Manipulate values with traditional algebraic and trigonometric functions.
Summary Statistics
Compute basic statistical estimates (such as raw or central sums and moments) for single- and double-precision multidimensional datasets.
Benchmarks
These benchmarks are offered to help you make informed decisions about which routines to use in your applications, including performance for each major function domain in oneMKL by processor family. Some benchmark charts only include absolute performance measurements for specific problem sizes. Others compare previous versions, popular alternate open source libraries, and other functions for oneMKL.
Documentation & Code Samples
Documentation
- Get Started Guide
- Release Notes
- System Requirements
- Developer References:
C | Fortran | SYCL - Developer Guides:
Windows* | Linux* | macOS*
Code Samples
Learn how to access oneAPI code samples in a tool command line or IDE.
Training
- Speed Up Monte Carlo Simulations
- Implement a Fourier Correlation Algorithm with oneMKL for Easier Offload to Accelerators (GPUs and FPGAs) [47:37]
- How to Offload Linear Algebra Computations (Lower-Upper [LU] Factorization) to an Accelerator
- Case Study: ANSYS Fluent* Improves Performance with Intel® Advanced Vector Extensions and oneMKL
- Accelerate R Code with Intel® oneAPI Math Kernel Library
Specifications
Processors:
- Intel Atom® processors
- Intel® Core™ processors
- Intel® Xeon® Scalable processors
GPUs:
- Intel® Processor Graphics Gen9 and above
- Xe Architecture
Languages:
- SYCL
- C and C++
- Fortran
For more information, see the system requirements.
Operating systems:
- Windows*
- Linux*
- macOS*
Compilers:
- Intel® oneAPI DPC++/C++ Compiler
- GNU Compiler Collection (GCC)*
- Intel® C++ Compiler Classic
- Intel® Fortran Compiler
- Intel® Fortran Compiler Classic
- Other compilers that follow the same standards
Development environments:
- Windows: Microsoft Visual Studio*
- Linux: Eclipse* and Eclipse CDT (C/C++ Development Tooling)*
Threading models:
- Intel® oneAPI Threading Building Blocks
- OpenMP
Get Help
Your success is our success. Access these support resources when you need assistance.
Stay in the Know with All Things CODE
Sign up to receive the latest trends, tutorials, tools, training, and more to
help you write better code optimized for CPUs, GPUs, FPGAs, and other
accelerators—stand-alone or in any combination.