The following pages describe the
Intel® oneMKL LAPACK routines for DPC++ in detail, all of which are declared in the header file
mkl_lapack_sycl.hpp.
Several conventions are used throughout this document:
- All
Intel® oneMKL for 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.
- A question mark
(?) in a routine name stands for one or more characters (typically one of s, d, c, z) specifying the precision of the operation. Each routine has a table detailing the supported precisions and associated routine names.
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.
Each routine details the device types are currently supported.
In the current release of
Intel® oneMKL LAPACK for DPC++, all routines support at least the host and CPU devices. GPU devices are supported in the current release only for the following routines:
Routines
|
getrf (all precisions)
|
getrs (all precisions)
|
trtrs (all precisions)
|
potrf (real precisions)
|
potrs (real precisions)
|
getri (real precisions)
|