BLAS-like Extensions
Intel® oneAPI Math Kernel Library (oneMKL) DPC++ provides additional routines to extend the functionality of the BLAS routines. These include routines to compute many independent vector-vector, vector-matrix, matrix-matrix operations.
The following table lists these routines.
Routine  |  
       Data Types  |  
       Description  |  
      
|---|---|---|
float, double, std::complex<float>, std::complex<double>  |  
       Computes a vector-scalar product added to a scaled-vector.  |  
      |
float, double, std::complex<float>, std::complex<double>  |  
       Computes groups of vector-scalar product added to a vector.  |  
      |
float, double, std::complex<float>, std::complex<double>  |  
       Computes groups of vector copies.  |  
      |
float, double, std::complex<float>, std::complex<double>  |  
       Computes a group of diagonal matrix-matrix product.  |  
      |
std::int8_t, oneapi::mkl::bfloat16, sycl::half, float, double, std::complex<float>, std::complex<double>, mixed  |  
       Computes groups of matrix-matrix product with general matrices.  |  
      |
mixed std::int8_t, std::uint8_t, and std::int32_t  |  
       Computes a matrix-matrix product with general matrices and mixed precision.  |  
      |
float, double, std::complex<float>, std::complex<double>  |  
       Computes a matrix-matrix product with general matrices, but updates only the upper/lower triangular part of the output matrix.  |  
      |
float, double, std::complex<float>, std::complex<double>  |  
       Computes a group of matrix-vector product using general matrices.  |  
      |
float, double, std::complex<float>, std::complex<double>  |  
       Computes rank-k updates on a group of symmetric matrices by a group of general matrices.  |  
      |
float, double, std::complex<float>, std::complex<double>  |  
       Solves a triangular matrix equation for a group of matrices.  |  
      |
float, double, std::complex<float>, std::complex<double>  |  
       Computes an out-of-place matrix copy or transposition.  |  
      |
float, double, std::complex<float>, std::complex<double>  |  
       Computes an in-place matrix copy or transposition.  |  
      |
float, double, std::complex<float>, std::complex<double>  |  
       Computes a sum of two general matrices, with optional transposes.  |  
      |
float, double, std::complex<float>, std::complex<double>  |  
       Computes groups of out-of-place matrix copies or transpositions.  |  
      |
float, double, std::complex<float>, std::complex<double>  |  
       Computes groups of in-place matrix copies or transpositions.  |  
      |
float, double, std::complex<float>, std::complex<double>  |  
       Computes groups of matrix additions.  |