Developer Guide

Developer Guide for Intel® oneAPI Math Kernel Library Linux*

ID 766690
Date 11/07/2023
Public

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

Document Table of Contents

Static Libraries in the lib32 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

Interface Layer

     

libmkl_intel.a

Interface library for the Intel compilers. Also use for other supported compilers that do not have a specialized Intel® oneAPI Math Kernel Library (oneMKL) interface library.

All Intel® oneAPI Math Kernel Library (oneMKL) function domains are presented in this library.

   

libmkl_blas95.a

Fortran 95 interface library for BLAS for the Intel® Fortran compiler.

Fortran 95 interfaces for BLAS and LAPACK

Yes

libmkl_lapack95.a

Fortran 95 interface library for LAPACK for the Intel Fortran compiler.

Fortran 95 interfaces for BLAS and LAPACK

Yes

libmkl_gf.a

Interface library for the GNU* Fortran compiler.

All oneMKL function domains are presented in this library.

GNU* Compiler Collection support

Yes

Threading Layer

     

libmkl_intel_thread.a

OpenMP threading library for the Intel compilers.

All oneMKL function domains are presented in this library.

   

libmkl_tbb_thread.a

Intel® Threading Building Blocks (Intel® TBB) threading library for the Intel compilers.

All oneMKL function domains are presented in this library.

Intel TBB threading support

Yes

libmkl_gnu_thread.a

OpenMP threading library for the GNU Fortran and C compilers.

All oneMKL function domains are presented in this library.

GNU* Compiler Collection support

Yes

libmkl_sequential.a

Sequential library.

All oneMKL function domains are presented in this library.

   

Computational Layer

     

libmkl_core.a

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.

   
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 GCC compiler + GNU OpenMP threading, the link line should contain:

  1. mkl_intel for the interface layer
  2. mkl_gnu_thread for GNU OpenMP threading
  3. mkl_core for all other oneMKL functionality

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