Skip to content


The Intel Math Kernel Library (Intel MKL) contains highly optimized, extensively threaded math routines for science, engineering, and financial applications. Core math functions include BLAS, LAPACK, ScaLAPACK, Sparse Solvers, Fast Fourier Transforms, Vector Math, and more.

Usage on Perlmutter

Intel compilers

When using the Intel compilers under PrgEnv-intel, MKL can be conveniently used by adding the -mkl flag to the compiler line.

nersc$ module load PrgEnv-intel
nersc$ ftn -qmkl test.f90
nersc$ cc -qmkl test.c

If you need the sequential MKL routines only then use

nersc$ ftn -qmkl="sequential" test.f90
nersc$ cc -qmkl="sequential" test.c

If ScaLapack routines are needed then

nersc$ ftn -qmkl="cluster" test.f90
nersc$ cc -qmkl="cluster" test.c

Other compilers

Use the Intel MKL Link Line Advisor to determine the appropriate link lines.

Preparing for Perlmutter

For more info on alternatives to MKL libraries on Perlmutter, please see the Perlmutter Readiness page.