This section describes the Data Parallel C++ (DPC++) interface.
Dense Linear Algebra#
This section contains information about dense linear algebra routines:
BLAS Routines provides vector, matrix-vector, and matrix-matrix routines for dense matrices and vector operations.
Scalar Arguments in BLAS describes some details of how scalar parameters (such as
beta) are handled so that users may pass either values or pointers for these parameters.
LAPACK Routines provides more complex dense linear algebra routines, e.g., matrix factorization, solving dense systems of linear equations, least square problems, eigenvalue and singular value problems, and performing a number of related computational tasks.
Sparse Linear Algebra#
The oneAPI Math Kernel Library provides a Data Parallel C++ interface to some of the Sparse Linear Algebra routines.
Sparse BLAS provides basic operations on sparse vectors and matrices, and separates them into two stages: analysis (also called inspector stage or optimize stage) and execution. For a given matrix, the analysis would typically be called one time and the execution may be called multiple times. During the analysis stage, the API inspects the matrix properties including size, sparsity pattern and available parallelism and can apply matrix format or structure changes to enable a more optimized algorithm. In the execution stage, multiple routine calls can take advantage of the analysis stage data in order to improve performance.
In order to save information in between calls to Sparse BLAS computation routines, the matrix_handle_t type is introduced, that is essentially an opaque pointer, used to store data related to initial sparse matrix and data obtained during analysis stage.
Discrete Fourier Transforms#
The Discrete Fourier Transform Functions offer several options for computing Discrete Fourier Transforms (DFTs).
Random Number Generators#
The oneAPI Math Kernel Library Random Number Generators provides a set of routines implementing commonly used pseudorandom, quasi-random, and non-deterministic generators with continuous and discrete distributions.
The oneMKL provides a set of Summary Statistics routines that compute basic statistical estimates for single and double precision multi-dimensional datasets.
oneMKL Vector Mathematics functions (VM) compute a mathematical function of each of the vector elements. VM includes a set of functions (arithmetic, power, trigonometric, exponential, hyperbolic, special, and rounding) that operate on vectors of real and complex numbers.