Developer Guide

Developer Guide for Intel® oneAPI Math Kernel Library macOS*

ID 766688
Date 3/31/2023
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.

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.

On systems based on the Intel® 64 architecture, LP64 and ILP64 interfaces are available. The following table provides values to be used to set each interface layer.

Specifying the Interface 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

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

SEQUENTIAL

MKL_THREADING_SEQUENTIAL

Intel TBB threading

TBB

MKL_THREADING_TBB

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