Overview of Intel® oneMKL LAPACK Routines for Data Parallel C++

The following pages describe the oneMKL LAPACK routines for Data Parallel C++ (DPC++) in detail, all of which are declared in the header file oneapi/mkl/lapack.hpp.

Several conventions are used throughout this document:

  • All oneMKL for DPC++ data types and non domain specific functions are inside the oneapi::mkl namespace.

  • All oneMKL LAPACK functions for DPC++ are inside the oneapi::mkl::lapack namespace.

  • For brevity, the 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 sycl::buffer<float,1> &A.

  • The routines are overloaded on precision. Each routine has a table detailing the supported precisions and devices.

Device Support

DPC++ supports the following types of devices:

  • CPU device: Performs computations on a CPU using OpenCL™.

  • GPU device: Performs computations on a GPU using OpenCL™ or Level Zero. Note that some or all of the computations may be performed on the CPU.

Each routine details the device types that are currently supported.