Math Libraries

Last modified: Wednesday June 02, 2010 11:09 AM

The Intel Math Kernel Library (MKL) is a library of optimized and threaded math routines such as BLAS, LAPACK, sparse solvers, fast fourier transforms, vector math, and more for all the latest Intel architectures. This page is intended to help users get started with MKL and find additional information.

Before using MKL, it is highly recommended for users to read the MKL Users Guide.

Environment

The mkl environment module on Eos is provided to configure your environment for MKL when loaded. View the list of modules on Eos for the currently available versions of MKL. For more information about modules, consult the modules page.

NOTE: the default value for the OMP_NUM_THREADS environment variable is 1. Please change this value in your environment for enabling threaded parallelism for MKL.

Compiling and Linking

The Intel MKL Linking Advisor can be used to determine the necessary libraries and options to specify for your link or compilation line based on information you provide. Specific linking examples can also be found in Chapter 5 of the MKL Users Guide and in the $MKLROOT/examples directory on Eos.

Documentation

The complete MKL documentation can be found here. The MKL Users Guide is highly recommended for all users of MKL.

Man pages are also available on Eos after loading a mkl environment module. A MKL man page should be viewed against its function base name:

    man function base name
where the function base name is the function name with omitted prefixes denoting data type, precision, or function domain. Some examples are below:

Function Man Page Command
BLAS function ddot man dot
ScaLAPACK function pzgeql2 man pgeql2
FFT function DftiCommitDescriptor man CommitDescriptor

Examples

After a MKL environment module is loaded in your login session, you can access the various examples in the $MKLROOT/examples directory on Eos. In this directory, the examples are grouped in subdirectories by Intel MKL function domains and programming languages. Each subdirectory contains an example makefile and a sources subdirectory for the example source code.