Intel Math Kernel Library (Intel MKL) is a computing math library of highly optimized, extensively threaded routines for applications that require maximum performance. The library provides Fortran and C programming language interfaces. Intel MKL C language interfaces can be called from applications written in either C or C++, as well as in any other language that can reference a C interface.

    Intel MKL provides comprehensive functionality support in these major areas of computation:

    • BLAS (level 1, 2, and 3) and LAPACK linear algebra routines, offering vector, vector-matrix, and matrix-matrix operations.
    • ScaLAPACK distributed processing linear algebra routines, as well as the Basic Linear Algebra Communications Subprograms (BLACS) and the Parallel Basic Linear Algebra Subprograms (PBLAS).
    • Intel MKL PARDISO (a direct sparse solver based on Parallel Direct Sparse Solver PARDISO*), an iterative sparse solver, and supporting sparse BLAS (level 1, 2, and 3) routines for solving sparse systems of equations, as well as a distributed version of Intel MKL PARDISO solver provided for use on clusters.
    • Fast Fourier transform (FFT) functions in one, two, or three dimensions with support for mixed radices (not limited to sizes that are powers of 2), as well as distributed versions of these functions provided for use on clusters.
    • Vector Mathematics (VM) routines for optimized mathematical operations on vectors.
    • Vector Statistics (VS) routines, which offer high-performance vectorized random number generators (RNG) for several probability distributions, convolution and correlation routines, and summary statistics functions.
    • Data Fitting Library, which provides capabilities for spline-based approximation of functions, derivatives and integrals of functions, and search.
    • Extended Eigensolver, a shared memory programming (SMP) version of an eigensolver based on the Feast Eigenvalue Solver.
    • Deep Neural Network (DNN) primitive functions with C language interface.

      Please see Intel official WEBan official document for a detail.

    Installed directory

      an environment value, $MKLROOT is setting Intel MKL installed directory. Please note that we update Intel MKL along to Intel compiler version up.

      echo $MKLROOT


      an older version(15.0.1, 17.0.5, etc.) is available. Please enter the following command if you use intel MKL version 17.0.5.

      source /octfs/apl/Intel/psxece2017u5/mkl/bin/mklvars.sh intel64
      echo $MKLROOT


    How to use

      We recommend to use Intel Link Line Advisor for Link/Command option.
      Intel MKL Link Line Advisor

      If you use Intel MKL 2018 and Intel compiler on General-purpose CPU node 1 core, please choose as the following:

      Select Intel product Intel Parallel Studio XE 2018
      Select OS Linux
      Select usage model of IntelR Xeon Phi Coprocessor None
      Select compiler intel FORTRAN
      Select architecture Intel(R) 64
      Select dynamic or static linking Static
      Select interface layer 32-bit integer
      Select threading layer Sequential
      Select OpenMP library -
      Select cluster library -
      Select MPI library -
      Select the Fortran 95 interfaces -
      Link with IntelR MKL libraries explicitly -

      Please specify strings of "Use this link line" "Compiler options" for your compile option like the following compile command.

      ifort test.f90 -I${MKLROOT}/include -Wl,--start-group ${MKLROOT}/lib/intel64/libmkl_intel_lp64.a ${MKLROOT}/lib/intel64/libmkl_sequential.a ${MKLROOT}/lib/intel64/libmkl_core.a -Wl,--end-group -lpthread -lm -ldl