Developer Guide
Developer Guide for Intel® oneAPI Math Kernel Library Linux*
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 (oneMKL).
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.
The following table lists available interface layers for Intel® 64 architecture along with the values to be used to set each 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  |  
       
GNU* LP64  |  
        GNU,LP64  |  
        MKL_INTERFACE_LP64+MKL_INTERFACE_GNU  |  
       
GNU ILP64  |  
        GNU,ILP64  |  
        MKL_INTERFACE_ILP64+MKL_INTERFACE_GNU  |  
       
If the mkl_set_interface_layer function is called, the environment variable MKL_INTERFACE_LAYER is ignored.
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 (oneMKL)  |  
        SEQUENTIAL  |  
        MKL_THREADING_SEQUENTIAL  |  
       
GNU threading  |  
        GNU  |  
        MKL_THREADING_GNU  |  
       
Intel TBB threading  |  
        TBB  |  
        MKL_THREADING_TBB  |  
       
If the mkl_set_threading_layer function is called, the environment variable MKL_THREADING_LAYER is ignored.