Programming Guide

Contents

oneMKL Usage

When using the SYCL* interfaces, there are a few changes to consider:
  • oneMKL has a dependency on the Intel oneAPI DPC++/C++ Compiler and Intel oneAPI DPC++ Library. Applications must be built with the Intel oneAPI DPC++/C++ Compiler, the SYCL headers made available, and the application linked with oneMKL using the DPC++ linker.
  • SYCL interfaces in oneMKL use device-accessible Unified Shared Memory (USM) pointers for input data (vectors, matrices, etc.).
  • Many SYCL interfaces in oneMKL also support the use of
    sycl::buffer
    objects in place of the device-accessible USM pointers for input data.
  • SYCL interfaces in oneMKL are overloaded based on the floating point types. For example, there are several general matrix multiply APIs, accepting single precision real arguments (float), double precision real arguments (double), half precision real arguments (half), and complex arguments of different precision using the standard library types
    std::complex<float>
    ,
    std::complex<double>
    .
  • A two-level namespace structure for oneMKL is added for SYCL interfaces:
oneMKL Two-level Namespaces
Namespace
Description
oneapi::mkl
Contains common elements between various domains in oneMKL
oneapi::mkl::blas
Contains dense vector-vector, matrix-vector, and matrix-matrix low level operations
oneapi::mkl::lapack
Contains higher-level dense matrix operations like matrix factorizations and eigensolvers
oneapi::mkl::rng
Contains random number generators for various probability density functions
oneapi::mkl::stats
Contains basic statistical estimates for single and double precision multi-dimensional datasets
oneapi::mkl::vm
Contains vector math routines
oneapi::mkl::dft
Contains fast fourier transform operations
oneapi::mkl::sparse
Contains sparse matrix operations like sparse matrix-vector multiplication and sparse triangular solver

Product and Performance Information

1

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