Intel® oneAPI Math Kernel Library (oneMKL)
30 years of math performance excellence: Accelerate math processing routines and reduce development time.
High Performance for Numerical Computing on CPUs and GPUs
Why oneMKL?
- Take advantage of the fastest and most-used math library for Intel®-based systems.†
- Create highly performant applications faster.
- Fully use Intel hardware capabilities for AI, HPC, and data science.
- Reach high performance with math solutions like NumPy, SciPy, and MATLAB*.
What's New
- oneMKL introduces enhanced performance of 2D and 3D real and complex fast Fourier transforms (FFT) targeted for Intel® Data Center GPU Max Series.
- Distribution models and data types are available for a random number generator (RNG) using a SYCL device API.
- 64-bit integer types for uniform distribution
- 8-bit and 16-bit integer types for Bernoulli distribution
- Beta and gamma distributions for float and double types
- SYCL Discrete Fourier Transform API is easier to use and to debug with key compilation messages added for the type of safety, reducing time to develop your application, especially when targeting Intel GPUs.
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.
Help oneMKL Evolve
oneMKL is part of the oneAPI industry standards initiative. We welcome you to participate.
What You Need
- Get started by choosing the best interface for your application:
- 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.
Explore the Intel oneAPI Base Toolkit
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 alternative open source libraries, and other functions for oneMKL.
Discussion on 4th Gen Intel® Xeon® Scalable Processor Benchmarks
To assess performance in high-performance computing environments, see the oneMKL Benchmarks Suite. It includes:
- Intel® Distribution for LINPACK* Benchmark
- Intel® Distribution for LINPACK* Benchmark supporting MPI for clusters
- Intel® Optimized High Performance Conjugate Gradient Benchmark
Specifications
Processors:
- Intel Atom® processors
- Intel® Core™ processors
- Intel® Xeon® Scalable processors
GPUs:
- Intel® UHD Graphics for 11th generation Intel processors or newer
- Intel® Iris® Xe graphics
- Intel® Arc™ graphics
- Intel® Data Center GPU Flex Series
- Intel® Data Center GPU Max Series
Languages:
- SYCL
- C and C++
- Fortran
For more information, see the system requirements.
Operating systems:
- Windows
- Linux
Compilers:
- Intel® oneAPI DPC++/C++ Compiler
- GNU Compiler Collection (GCC)*
- 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 on All Things CODE
Sign up to receive the latest tech articles, tutorials, dev tools, training opportunities, product updates, and more, hand-curated to help you optimize your code, no matter where you are in your developer journey. Take a chance and subscribe. You can change your mind at any time.