Developer Guide

Developer Guide for Intel® oneAPI Math Kernel Library Linux*

ID 766690
Date 10/31/2024
Public
Document Table of 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 (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.

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.

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 (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.