Intel® oneAPI Math Kernel Library - Data Parallel C++ Developer Reference

The Intel® oneAPI Math Kernel Library (oneMKL) improves performance with math routines for software applications that solve large computational problems. oneMKL provides BLAS and LAPACK linear algebra routines, fast Fourier transforms, vectorized math functions, random number generation functions, and other functionality.

This publication describes the Data Parallel C++ (DPC++) interface. DPC++ = ISO C++ and Khronos SYCL and extensions.

Basic Linear Algebra Subprograms (BLAS)

The BLAS routines provide vector, matrix-vector, and matrix-matrix operations.

Sparse BLAS

The Sparse BLAS routines provide basic operations on sparse vectors and matrices.

LAPACK

The LAPACK routines solve systems of linear equations, least square problems, eigenvalue and singular value problems, and Sylvester’s equations.

Random Number Generators

The Random Number Generators provides a set of routines implementing commonly used pseudorandom and quasi-random generators with continuous and discrete distributions.

Summary Statistics

Summary Statistics provides routines that compute basic statistical estimates for single and double precision multi-dimensional datasets.

Vector Mathematics Functions

The Vector Mathematics (VM) functions compute core mathematical functions on vector arguments.

Fourier Transform Functions

The Fourier Transform Functions offer several options for computing Fast Fourier Transforms (FFTs).

Notices and Disclaimers

Software and workloads used in performance tests may have been optimized for performance only on Intel microprocessors. Performance tests, such as SYSmark and MobileMark, are measured using specific computer systems, components, software, operations and functions. Any change to any of those factors may cause the results to vary. You should consult other information and performance tests to assist you in fully evaluating your contemplated purchases, including the performance of that product when combined with other products. For more complete information visit https://www.intel.com/content/www/us/en/benchmarks/benchmark.html.

INFORMATION IN THIS DOCUMENT IS PROVIDED “AS IS”. NO LICENSE, EXPRESS OR IMPLIED, BY ESTOPPEL OR OTHERWISE, TO ANY INTELLECTUAL PROPERTY RIGHTS IS GRANTED BY THIS DOCUMENT. INTEL ASSUMES NO LIABILITY WHATSOEVER AND INTEL DISCLAIMS ANY EXPRESS OR IMPLIED WARRANTY, RELATING TO THIS INFORMATION INCLUDING LIABILITY OR WARRANTIES RELATING TO FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, OR INFRINGEMENT OF ANY PATENT, COPYRIGHT OR OTHER INTELLECTUAL PROPERTY RIGHT.

© Intel Corporation.

OpenCL and the OpenCL logo are trademarks of Apple Inc. used by permission by Khronos.

Intel’s compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice. Notice revision #20110804

This notice covers the following instruction sets: SSE2, SSE4.2, AVX2, AVX-512.