Developer Guide

Developer Guide for Intel® oneAPI Math Kernel Library Windows*

ID 766692
Date 3/22/2024
Document Table of Contents

Calling oneMKL Functions from Multi-threaded Applications

This section summarizes typical usage models and available options for calling Intel® oneAPI Math Kernel Library (oneMKL) functions from multi-threaded applications. These recommendations apply to any multi-threading environments: OpenMP*, Intel® Threading Building Blocks,Windows* threads, and others.

Usage model: disable oneMKL internal threading for the whole application

When used:Intel® oneAPI Math Kernel Library (oneMKL) internal threading interferes with application's own threading or may slow down the application.

Example: the application is threaded at top level, or the application runs concurrently with other applications.


  • Link statically or dynamically with the sequential library

  • Link with the Single Dynamic Library mkl_rt.lib and select the sequential library using an environment variable or a function call:

    • Set MKL_THREADING_LAYER=sequential

    • Call mkl_set_threading_layer(MKL_THREADING_SEQUENTIAL)

For details of the mentioned functions, see the Support Functions section of the Intel® oneAPI Math Kernel Library (oneMKL) Developer Reference, available in the Intel Software Documentation Library.

Product and Performance Information

Performance varies by use, configuration and other factors. Learn more at

Notice revision #20201201