Intel MKL provides the Single Dynamic Library (SDL) which enables you to dynamically select the interface and threading layer for Intel MKL.
To use SDL, put the only library on your link line: libmkl_rt.so. For example,
icс application.c -lmkl_rt
Available interfaces depend on the architecture of your system.
On systems based on the Intel® 64 architecture, LP64 and ILP64 interfaces are available. To set one of these interfaces at run time, use the mkl_set_interface_layer function or the MKL_INTERFACE_LAYER environment variable. The following table provides values to be used to set each interface.
Interface Layer |
Value of MKL_INTERFACE_LAYER |
Value of the Parameter of mkl_set_interface_layer |
---|---|---|
LP64 |
LP64 |
MKL_INTERFACE_LP64 |
ILP64 |
ILP64 |
MKL_INTERFACE_ILP64 |
If the mkl_set_interface_layer function is called, the environment variable MKL_INTERFACE_LAYER is ignored.
By default the LP64 interface is used.
See the Intel MKL Reference Manual for details of the mkl_set_interface_layer function.
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 |
INTEL |
MKL_THREADING_INTEL |
Sequential mode of Intel MKL |
SEQUENTIAL |
MKL_THREADING_SEQUENTIAL |
GNU threading |
GNU |
MKL_THREADING_GNU |
PGI threading |
PGI |
MKL_THREADING_PGI |
If the mkl_set_threading_layer function is called, the environment variable MKL_THREADING_LAYER is ignored.
By default Intel threading is used.
See the Intel MKL Reference Manual for details of the mkl_set_threading_layer function.