Visible to Intel only — GUID: GUID-ACFFDA19-8914-4F20-9815-5C18DC6BE1C2
Visible to Intel only — GUID: GUID-ACFFDA19-8914-4F20-9815-5C18DC6BE1C2
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.
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.
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.
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.
Replacing Error Handling and Progress Information Routines
You can replace the Intel® oneAPI Math Kernel Library error handling routinexerbla 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.
If you are using SDL, you cannot perform the replacement by linking the object file with your implementation of xerbla or mkl_progress.