Developer Guide

Contents

Dynamically Selecting the Interface and Threading Layer

The Single Dynamic Library (SDL) enables you to dynamically select the interface and threading layer for
Intel® oneAPI Math Kernel Library
.

Setting the Interface Layer

To set the interface layer at run time, use the
mkl_set_interface_layer
function or the
MKL_INTERFACE_LAYER
environment variable.
Available interface layers depend on the architecture of your system.
On systems based on the Intel® 64 architecture, LP64 and ILP64 interfaces are available. The following table provides values to be used to set each interface layer.
Specifying the Interface Layer
Interface Layer
Value of
MKL_INTERFACE_LAYER
Value of the Parameter of
mkl_set_interface_layer
Intel LP64, default
LP64
MKL_INTERFACE_LP64
Intel ILP64
ILP64
MKL_INTERFACE_ILP64
If the
mkl_set_interface_layer
function is called, the environment variable
MKL_INTERFACE_LAYER
is ignored.
See the
Intel® oneAPI Math Kernel Library
Developer Reference
for details of the
mkl_set_interface_layer
function.
On systems based on the IA-32 architecture, the cdecl interface is available.

Setting the Threading Layer

To set the threading layer at run time, use the
mkl_set_threading_layer
function or the
MKL_THREADING_LAYER
environment variable. The following table lists available threading layers along with the values to be used to set each layer.
Specifying the Threading Layer
Threading Layer
Value of
MKL_THREADING_LAYER
Value of the Parameter of
mkl_set_threading_layer
Intel threading, default
INTEL
MKL_THREADING_INTEL
Sequential mode of
Intel® oneAPI Math Kernel Library
SEQUENTIAL
MKL_THREADING_SEQUENTIAL
PGI threading
PGI
MKL_THREADING_PGI
Intel TBB threading
TBB
MKL_THREADING_TBB
Not supported by the SDL for Intel® Many Integrated Core Architecture.
If the
mkl_set_threading_layer
function is called, the environment variable
MKL_THREADING_LAYER
is ignored.
See the
Intel® oneAPI Math Kernel Library
Developer Reference
for details of the
mkl_set_threading_layer
function.

Replacing Error Handling and Progress Information Routines

You can replace the
Intel® oneAPI Math Kernel Library
error handling routine
xerbla
or progress information routine
mkl_progress
with your own function. If you are using SDL, to replace
xerbla
or
mkl_progress
, call the
mkl_set_xerbla
and
mkl_set_progress
function, respectively. See the
Intel® oneAPI Math Kernel Library
Developer Reference
for details.
If you are using SDL, you cannot perform the replacement by linking the object file with your implementation of
xerbla
or
mkl_progress
.

Product and Performance Information

1

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