Developer Guide

Developer Guide for Intel® oneAPI Math Kernel Library Linux*

ID 766690
Date 3/22/2024
Public

A newer version of this document is available. Customers should click here to go to the newest version.

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.

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 (oneMKL)

SEQUENTIAL

MKL_THREADING_SEQUENTIAL

GNU threading

GNU

MKL_THREADING_GNU

PGI threading (DEPRECATED)

PGI

MKL_THREADING_PGI

Intel TBB threading

TBB

MKL_THREADING_TBB

If the mkl_set_threading_layer function is called, the environment variable MKL_THREADING_LAYER is ignored.