.. index:: MKL .. _MKL: Intel Math Kernel Library ========================= Description ----------- The Intel Math Kernel Library is a library of highly optimized, extensively threaded math routines for science, engineering, and financial applications that require maximum performance. Core math functions include BLAS, LAPACK, ScaLAPACK, sparse solvers, fast fourier transforms, vector maths, and more. User instructions ----------------- The appropriate version can be loaded using the modules system. For instance: .. code-block:: bash $ module load mkl/2017.4.196 The link line for including MKL depends upon the compiler being used and which parts of the MKL library are required. The best way is to fill out the form on the Intel website: http://software.intel.com/en-us/articles/intel-mkl-link-line-advisor/. Linking with the Intel compilers can often be done by simply adding the flag ``-mkl`` in the link line. The `fftw.h` and `fftw3.h` header files for the :ref:`FFTW` interface to the MKL FFT routines are not on the search path by default to avoid clashes with the :ref:`FFTW` library. The MKL FFTW header files can be included using `fftw/fftw.h` or `fftw/fftw3.h`, as appropriate. Source ------ https://software.intel.com/en-us/performance-libraries License ------- Proprietary, although a free community license for MKL can be obtained at the Intel website. Admin notes ----------- Installed as part of :ref:`Intel suite`. I created a separate module file just for the MKL environment variables to make it easy to use with both the Intel and GCC compilers.