|
Intel Math Kernel Library
General
The Math Kernel Library (MKL) from Intel offers highly optimized,
thread-safe, math routines for science and engineering. See the product
info from Intel for more details. [here]. The library contains:
- Linear Algebra - BLAS and LAPACK
- Linear Algebra - Sparse Solvers
- Fast Fourier Transforms
- Vector Math Library
- Vector Statistical Library (Random Number Generators)
Manual
A manual for Linux platforms is available. [here]
Essentials
The MKL is divided into high-level libraries (ScaLAPACK, LAPACK,
sparse solver) and processor specific kernels (BLAS, FFT, etc.). The
high level libraries are optimized without regard to the processor and
can be used effectively on Intel processors in general, whereas the
kernels are optimized for specific architectures.
The math routines are linked into your application. If you link an
application on a cluster you should not use threading and the link
command may look like:
ifort -o myprogram.x myprogram.o -L$MKL_ROOT -lmkl -lmkl_lapack
If you link an application on an shared-memory machine you may want to
use threading and the link command may look like:
ifort -o myprogram.x -L$MKL_ROOT myprogram.o -lmkl_lapack -lmkl -lguide -lpthread
Note:
- On Mozart we recommend use of SGIs math library called
SCSL rather than MKL.
- If the variable OMP_NUM_THREADS is not set, MKL routines
will run on the number of threads equal to 1 (except for the sparse
solver where the default number of threads is the number of processors
in the system). It is recommended that you always set OMP_NUM_THREADS
to the number of processors you wish to use in your application.
Page last modified: 2007-09-19 11:54
For more information contact us at
info@nsc.liu.se.
|