Ada : The MKL library

MKL

Introduction

MKL (Math Kernel Libraries) contains the optimised implementations of BLAS, LAPACK, BLACS, ScaLAPACK, the sparse solvers and FFT.

Versions

  • Intel(R) Math Kernel Library 10.3 Update 6
  • Intel(R) Math Kernel Library 11.0 Update 1 (default)
  • Intel(R) Math Kernel Library 11.1

Each available MKL version is associated with one Intel environment. To know which version is relative to an Intel environment, use module command:

$ module display intel/2013.1
...
Intel(R) Math Kernel Library 11.1

Thus to change MKL version, just change the used version of Intel environment by means of module command:

$ module load intel/2013.1

Utilisation

The compiling and linking are carried out by adding the following options to the linking:

$ ifort prg.f90 -lmkl_intel_lp64 -lmkl_sequential -lmkl_core

If the code contains coded integers on 64 bits :

$ ifort prg.f90 -i8 -lmkl_intel_ilp64 -lmkl_sequential -lmkl_core

Example

call_saxpy.f
 INTEGER            :: n, incx, incy
 REAL               :: alpha
 REAL, DIMENSION(n) :: x, y
 ...
 !  y = alpha*x + y
 CALL saxpy(n, alpha, x, incx, y, incy)

Compiling and linking :

$ ifort call_saxpy.f90 -lmkl_intel_lp64 -lmkl_sequential -lmkl_core

Documentation