Using the Single Dynamic Library

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

Setting the Interface Layer

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.

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

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.

See Also


Submit feedback on this help topic