The Intel MKL library
This page was translated by an AI (LLM) with a cursory human check and is awaiting full review.
Descriptionโ
Intel MKL (Math Kernel Library) is a library that offers highly optimised sequential and parallel mathematical routines. The basic mathematical functions include BLAS, LAPACK, ScaLAPACK, BLACS, sparse solvers and FFT.
Installed versionsโ
The versions installed on Jean Zay can be found using the following command:
module avail intel-mkl
Environmentโ
For the module command, the versions of Intel MKL do not depend on any environment.
However, we recommend using each version of the Intel MKL library with the corresponding version of the Intel compiler (see the modules intel-compiler/...).
To obtain information on the library access paths, simply use the following command:
module show intel-mkl
Usageโ
The library is accessible via module.
To load the default version into the current environment:
module load intel-mkl
or to load a specific version:
module load intel-mkl/19.0.5
For the module command, the versions of Intel MKL do not depend on any environment.
Therefore, no compiler version will be automatically loaded when activating a version of Intel MKL. We recommend using each version of the Intel MKL library with the corresponding version of the Intel compiler (see module avail intel-compilers).
Link editingโ
Link editing for the use of MKL can vary depending on several parameters such as the operating system, the type of compiler and the architecture. It is recommended to use Intelยฎ MKL Link Line Advisor to find the appropriate options.
The following examples use the default Intel MKL library and the default Intel compiler to ensure a consistent environment.
Here is an example for the BLAS library:
module load intel-mklmodule load intel-compilersifort appel_blas.f90 -L${MKLROOT}/lib/intel64 -lmkl_intel_lp64 \
-lmkl_sequential -lmkl_core -lpthread -lm -ldl
Here is an example for the LAPACK library:
module load intel-mklmodule load intel-compilersifort appel_lapack.f90 -L${MKLROOT}/lib/intel64 -lmkl_intel_lp64 \
-lmkl_sequential -lmkl_core -lpthread -lm -ldl
Here is an example for the ScaLAPACK library:
module load intel-mklmodule load intel-compilersifort appel_scalapack.f90 -L${MKLROOT}/lib/intel64 \
-lmkl_scalapack_lp64 -lmkl_blacs_intelmpi_lp64 \
-lmkl_intel_lp64 -lmkl_sequential -lmkl_core -lpthread -lm