Developer Reference

Contents

Overview of Intel® oneAPI Math Kernel Library (oneMKL) Sparse BLAS for DPC++

The following pages describe the oneMKL Sparse BLAS computational routines for DPC++ in detail. These routines, along with other helper routines (see Sparse BLAS Routines for full list), are declared in the header file
oneapi/mkl/spblas.hpp
.
Several conventions are used throughout this document:
  • All oneMKL DPC++ functions and data types are inside the
    mkl
    namespace.
  • For brevity, the
    cl::sycl
    namespace is omitted from DPC++ object types, such as buffers and queues. For example a single-precision, 1D buffer
    A
    would be written
    buffer<float,1> &A
    instead of
    cl::sycl::buffer<float,1> &A
    .
  • The routines are overloaded on precision. Each routine has a table detailing the supported precisions.

Device Support

DPC++ supports several types of devices:
  • Host device: Performs computations directly on the current CPU.
  • CPU device: Performs computations on a CPU using OpenCL™.
  • GPU device: Performs computations on a GPU using OpenCL™ or Level Zero.
Each routine details the device types that are currently supported.
In the current release of oneMKL DPC++ Sparse BLAS, all listed routines support use on host, CPU, and GPU devices (unless otherwise noted) with the Compressed Sparse Row (CSR) matrix format.
Routine
Data Types
Description
Level 2:
float, double
General sparse matrix-dense vector product
float, double
General sparse matrix-dense vector product with fused dot product
float, double
Symmetric sparse matrix-dense vector product
float, double
Triangular sparse matrix-dense vector product
float, double
Triangular solve of sparse matrix against a dense vector.
Level 3:
float, double
General sparse matrix-dense matrix product with dense matrix output
float, double
General sparse matrix-sparse matrix product with sparse matrix output. Only supports CPU and GPU device.

Product and Performance Information

1

Performance varies by use, configuration and other factors. Learn more at www.Intel.com/PerformanceIndex.