Developer Guide

Developer Guide for Intel® oneAPI Math Kernel Library Windows*

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

Static Libraries in the lib Directory

Some of the libraries in this directory are optional. However, some optional libraries are installed by default, while the rest are not. To get those libraries that are not installed by default, explicitly select the specified optional component during installation.

File

Contents

Optional Component

Name

Installed by Default

SYCL API Layer

     

mkl_sycl.lib

SYCL library for the Intel DPC++ compilers. Required if SYCL-specific functionality is needed.

This library includes BLAS, LAPACK, DFT, Data Fitting, Vector Math, Sparse BLAS, RNG and Summary Statistic domains.

   

mkl_sycld.lib

SYCL library with debug runtime (/MDd) for the Intel DPC++ compilers. Required if SYCL-specific functionality with debug runtime (/MDd) is needed.

This library includes BLAS, LAPACK, DFT, Data Fitting, Vector Math, Sparse BLAS, RNG and Summary Statistic domains.

   

Interface Layer

     

mkl_intel_lp64.lib

LP64 interface library for the Intel compilers.

All Intel® oneAPI Math Kernel Library (oneMKL) function domains support LP64 programming. Read more about LP64 in Using the ILP64 Interface vs. LP64 Interface.

   

mkl_intel_ilp64.lib

ILP64 interface library for the Intel compilers.

All oneMKL function domains support ILP64 programming with some limitations for FFT. Read more about ILP64 and limitations in Using the ILP64 Interface vs. LP64 Interface.

   

mkl_blas95_lp64.lib

Fortran 95 interface library for BLAS. Supports the Intel® Fortran compiler and LP64 interface

Fortran 95 interfaces for BLAS and LAPACK

Yes

mkl_blas95_ilp64.lib

Fortran 95 interface library for BLAS. Supports the Intel® Fortran compiler and ILP64 interface

Fortran 95 interfaces for BLAS and LAPACK

Yes

mkl_lapack95_lp64.lib

Fortran 95 interface library for LAPACK. Supports the Intel® Fortran compiler and LP64 interface

Fortran 95 interfaces for BLAS and LAPACK

Yes

mkl_lapack95_ilp64.lib

Fortran 95 interface library for LAPACK. Supports the Intel® Fortran compiler and ILP64 interface

Fortran 95 interfaces for BLAS and LAPACK

Yes

Threading Layer

     

mkl_intel_thread.lib

OpenMP threading library for the Intel compilers.

All oneMKL function domains support Intel OpenMP threading.

   

mkl_tbb_thread.lib

Intel TBB threading library for the Intel compilers.

All oneMKL function domains support Intel TBB threading.

Intel TBB threading support

Yes

mkl_tbb_threadd.lib

Intel® Threading Building Blocks (Intel® TBB) threading library for the Intel compilers compatible with mkl_sycld.lib.

Intel TBB threading support

Yes

mkl_pgi_thread.lib (DEPRECATED)

OpenMP threading library for the PGI* compiler.

All oneMKL function domains except cluster domains (CDFT, CPARDISO, HPCG, BLACS) support PGI threading.

PGI* Compiler support

 

mkl_sequential.lib

Sequential library.

All oneMKL function domains support sequential mode.

   

Computational Layer

     

mkl_core.lib

All non–architecture-specific implementation and library dispatcher for architecture-specific kernels.

Read more about how to work with mkl_enable_instructions and mkl_cbwr_set in the developer reference.

mkl_core is required for any link configurations.

   

Cluster Libraries

     

mkl_scalapack_lp64.lib

ScaLAPACK routine library supporting the LP64 interface.

Cluster support

 

mkl_scalapack_ilp64.lib

ScaLAPACK routine library supporting the ILP64 interface.

Cluster support

 

mkl_cdft_core.lib

Cluster version of FFTs.

Cluster support

 

mkl_blacs_intelmpi_lp64.lib

LP64 version of BLACS routines supporting Intel® MPI Library.

Cluster support

 

mkl_blacs_intelmpi_ilp64.lib

ILP64 version of BLACS routines supporting Intel MPI Library.

Cluster support

 

mkl_blacs_msmpi_lp64.lib

LP64 version of BLACS routines supporting Microsoft* MPI.

Cluster support

 

mkl_blacs_msmpi_ilp64.lib

ILP64 version of BLACS routines supporting Microsoft* MPI.

Cluster support

 
NOTE:

In case any functionality from a specific library is needed, this library should be added to the link line. For example, if you want to use oneMKL with the Intel compiler + ILP64 interface + Intel OpenMP threading, the link line should contain:

  1. mkl_intel_ilp64_dll for ILP64 interface
  2. mkl_intel_thread_dll for Intel OpenMP threading
  3. mkl_core_dll for all other oneMKL functionality

Details about what should be linked in different cases can be found in the oneMKL Link Line Advisor.