Developer Guide

  • 2021.1
  • 12/04/2020
  • Public Content
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.
The following table lists available interface layers for Intel® 64 architecture along with the values to be used to set each layer.
Specifying the Interface Layer
for Intel® 64 Architecture
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.
See the
Intel® oneAPI Math Kernel Library
Developer Reference
for details of the
mkl_set_interface_layer
function.
The following table lists available interface layers for IA-32 architecture along with the values to be used to set each layer.
Specifying the Interface Layer for IA-32 Architecture
Interface Layer
Value of
MKL_INTERFACE_LAYER
Value of the Parameter of
mkl_set_interface_layer
Intel, default
LP64
MKL_INTERFACE_LP64
GNU
GNU,LP64
or
GNU
MKL_INTERFACE_LP64+MKL_INTERFACE_GNU
or
MKL_INTERFACE_GNU

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
GNU threading
GNU
MKL_THREADING_GNU
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.

Product and Performance Information

1

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