The Intel Math Kernel Library (MKL) contains highly optimized and extensively threaded routines for engineering and scientific applications.

It includes linear algebra routines (BLAS, LAPACK, ScaLAPACK, and sparse solvers), FFTs, a vector math library, vector random number generators, and LINPACK benchmark routines.

Choosing which libraries to link to

For help in determining which libraries to link, to see the MKL Library Link Advisor provided by Intel.

Threaded MKL routines

Note that threaded MKL routines are based on OpenMP. Treat these routines as OpenMP parallel regions. Be sure that your thread count does not exceed the number of cores allocated to your job.



The MKL libraries are available as part of the Intel Parallel Studio by default.  To see which versions are available, type

module avail intel

For more specific information on any installed version, type

module help intel/nnnnn

where nnnnn is the specific intel module you are interested in.

To use a different version of the Parallel Studio than the default, unload the default version and load the one you want.

module unload intel module load intel/nnnnn


Create a job script which

  • Loads a non-default version of the Intel Parallel Studio, if you like
  • Includes a compilation command which calls the MKL libraries you need. If you need help to determine which libraries to link to, see the MKL Library Link Advisor.

To use the Intel compilers with MKL, the compilation command should be similiar to:

ifort source.f -o executable -mkl=[parallel | sequential]

To use the GNU compilers with MKL, you must explicitly list each library.

g++ -o executable -L${MKLROOT} -llibrary1 -llibrary2   

 Submit the script with the sbatch command.  See the Running Jobs section of the Bridges User Guide for more information on partitions, job scripts and the sbatch command.