TeraGrid Logo
Learn About the TeraGridTeraGrid NewsEducation & TrainingScience GatewaysUser Support & Documentation

spacer TeraGrid.ncsa.uiuc.edu spacer
spacer

Back to TeraGrid Software Overview

Applications Software

Home > VASP > Netcdf (Version 4.0) NCSA: SGI Altix > GAMESS (Version Mar 07) NCSA: Intel 64 Linux Cluster > GAMESS (Version Mar 07) NCSA: SGI Altix > SvPablo > hypre > NAMD (Version 2.6) NCSA: Intel 64 Linux Cluster > ABINIT > NWChem (Version 5.1) NCSA: Intel 64 Linux Cluster > LAPACK > WIEN2k (Version 2006) NCSA: IA-64 Linux Cluster > SuperLU > VProf - The Visual Profiler > vmd > CASTEP > ARPACK > FGSL (Version 0.7) NCSA: SGI Altix > NAMD > PETSc (Version 3.0.0-p5) NCSA: Intel 64 Linux Cluster > FFTW (Version 2.1.5 and 3.1.1) NCSA: SGI Altix > MKL - Math Kernel Library > FFTW (Version 2.1.5) NCSA: Intel 64 Linux Cluster > FFT (Version X) NCSA: Intel 64 Linux Cluster > ScaLAPACK (Version 1.8) NCSA: Intel 64 Linux Cluster > PETSc (Version 2.3.1-p12) NCSA: SGI Altix > MSC/Patran > NAMD (Version 2.6b1) NCSA: IA-64 Linux Cluster > MOLPRO (Version 2009.1) NCSA: SGI Altix > MSC/Nastran > MrBayes > DMol3 > IDL (Version 7.1) NCSA: Intel 64 Linux Cluster > BLACS (Version 1.1) NCSA: IA-64 Linux Cluster > PETSc (Version 2.3.3) NCSA: Intel 64 Linux Cluster > SPRNG (Version 2.0) NCSA: Intel 64 Linux Cluster > FFTW (Version 3.1.2) NCSA: Intel 64 Linux Cluster > GNU Scientific Library (GSL) (Version 1.9) NCSA: SGI Altix > LAPACK NCSA: SGI Altix > DMol (Version 4.4) NCSA: SGI Altix > MKL - Math Kernel Library (Version 7.2, 8, 9) NCSA: IA-64 Linux Cluster > MSC.Marc > WIEN2k > NWChem (Version 5.1) NCSA: IA-64 Linux Cluster > FFTW > ABINIT (Version 5.4.3) NCSA: SGI Altix > GOTO (Version 0.94) NCSA: SGI Altix > Tecplot > ADF > GOTO > GAMESS > SuperLU (Version 3.0) NCSA: Intel 64 Linux Cluster > ScaLAPACK (Version 1.8) NCSA: SGI Altix > DL_POLY NCSA: SGI Altix > GNU Scientific Library (GSL) (Version 1.10) NCSA: Intel 64 Linux Cluster > ATLAS > VASP (Version 4.6) NCSA: IA-64 Linux Cluster > PAPI > TotalView > NCAR Graphics (Version 5.1.0) NCSA: Intel 64 Linux Cluster > FIDAP > MKL - Math Kernel Library (Version 10.0) NCSA: SGI Altix
INSTALLED SOFTWARE DESCRIPTION

MKL - Math Kernel Library

General Information

Short Description: Intel math kernel library

Long Description:
The Math Kernel Library (MKL) contains the complete set of functions from the basic linear algebra subprograms (BLAS), the extended BLAS (sparse), and the complete set of LAPACK routines. In addition, there is a set of fast Fourier transforms in single- and double-precision, real and complex data types with both Fortran and C interfaces. The library also includes the cblas interfaces, which allow the C programmer to access all the functionality of the BLAS without considering C-Fortran issues.

Category: Mathematics and Statistics
Numerical Programs and Routines
Numerical Programs and Routines: Linear Algebra

Vendor/Developer: Intel

Vendor Website: http://www.intel.com

Software Website: http://www.intel.com/software/products/mkl

Programming Language:

Terms of Use:

Installation Information

Version: 10.0      Version Date: 0000-00-00

Installed Site: National Center for Supercomputing Applications

Installed Platform: SGI Altix

Point of Contact: Greg Bauer

Installation Status: Complete

Installation Date: 2008-07-21

Usage Information

Usage URL:

Usage Information:
MKL 10 now incorporates the "cluster" libraries of BLACS and ScaLAPACK 1.7, plus additional distributed functionality. To add MKL 10.0 to your environment put:
+intel-mkl-10.0.3.020
in your ${HOME}/.soft file.

Note: Please do not use the Intel compiler option -fast as it adds -static and there are not static libraries for the SGI MPT (MPI) libraries. If you would like to link to the Intel compiler libraries statically please add -static-intel -static-libgcc.

To link to the libraries

BLAS and LAPACK

no MKL threads
-Wl,-Bstatic -Wl,--start-group -L ${MKL_HOME}/lib/64 -lmkl_intel_lp64 -lmkl_sequential -lmkl_core -Wl,--end-group -Wl,-Bdynamic

The dynamic linking scheme can be subject to runtime numerical issues:
-L${MKL_HOME}/lib/64 -lmkl_intel_lp64 -lmkl_sequential -lmkl_core
MKL threaded
-L${MKL_HOME}/lib/64 -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core -lguide -lpthread

If you used the libscs_mp library under ProPack4, this is what you would replace it with for Intel MKL.

ScaLAPACK with SGI MPT

no MKL threads
-L ${MKL_HOME}/lib/64 -lmkl_scalapack_lp64 -lmkl_blacs_sgimpt_lp64 -Wl,-Bstatic -Wl,--start-group -L ${MKL_HOME}/lib/64 -lmkl_intel_lp64 -lmkl_sequential -lmkl_core -Wl,--end-group -Wl,-Bdynamic -lmpi

The dynamic linking scheme can be subject to runtime numerical issues:
-L${MKL_HOME}/lib/64 -lmkl_scalapack_lp64 -lmkl_blacs_sgimpt_lp64 -lmkl_intel_lp64 -lmkl_sequential -lmkl_core -lmpi
Integer*8 interface

For cases which exceed indexing of 2^32-1, the integer*8 interface ilp64 can be used. Simply replace lp64 as in above or below with ilp64 and compile your code with -i8 if needed.

This is the equivalent of using ProPack4 libscs_i8.

Issues with use of dyanamically linked libraries

In some cases, using the dynamically linked libraries can cause runtime memory problems. If you encounter error messages such as
cannot allocate memory for thread-local data: ABORT
please use the statically linked libraries as follows:

BLAS and LAPACK

no MKL threads
-L${MKL_HOME}/lib/64 -Bstatic -lmkl_intel_lp64 -lmkl_sequential -lmkl_core -Bdynamic
MKL threaded
-L${MKL_HOME}/lib/64 -Bstatic -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core -Bdynamic -lguide -lpthread

ScaLAPACK with SGI MPT

no MKL threads
-L${MKL_HOME}/lib/64 -lmkl_scalapack_lp64 -lmkl_blacs_sgimpt_lp64 -Bstatic -lmkl_intel_lp64 -lmkl_sequential -lmkl_core -Bdynamic -lmpi

fftw2xf

Example using SINGLE precision with the sequential MKL library
static libraries
ifort -DMKL_SINGLE -I${MKL_HOME}/include -I${MKL_HOME}/include/fftw ex1.f -L${MKL_HOME}/lib/64 -lfftw2xf_intel_SINGLE -Bstatic -lmkl_intel_lp64 -lmkl_sequential -lmkl_core -Bdynamic -o ex1

dynamic libraries
ifort -DMKL_SINGLE -I${MKL_HOME}/include -I${MKL_HOME}/include/fftw ex1.f -L${MKL_HOME}/lib/64 -lfftw2xf_intel_SINGLE -lmkl_intel_lp64 -lmkl_sequential -lmkl_core -o ex1

Example using DOUBLE precision with the threaded MKL library
static libraries
ifort -DMKL_DOUBLE -I${MKL_HOME}/include -I${MKL_HOME}/include/fftw ex4.f -L${MKL_HOME}/lib/64 -lfftw2xf_intel_DOUBLE -Bstatic -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core -Bdynamic -lguide -lpthread -o ex4

dynamic libraries
ifort -DMKL_DOUBLE -I${MKL_HOME}/include -I${MKL_HOME}/include/fftw ex4.f -L${MKL_HOME}/lib/64 -lfftw2xf_intel_DOUBLE -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core -lguide -lpthread -o ex4

fftw2xc

Example using SINGLE precision with the sequential MKL library
static libraries
icc ex1.c -DMKL_SINGLE -I${MKL_HOME}/include -I${MKL_HOME}/include/fftw -L${MKL_HOME}/lib/64 -lfftw2xc_intel_SINGLE -Bstatic -lmkl_intel_lp64 -lmkl_sequential -lmkl_core -Bdynamic -o ex1

dynamic libraries
icc ex1.c -DMKL_SINGLE -I${MKL_HOME}/include -I${MKL_HOME}/include/fftw -L${MKL_HOME}/lib/64 -lfftw2xc_intel_SINGLE -lmkl_intel_lp64 -lmkl_sequential -lmkl_core -lpthread -lm -o ex1

Example using DOUBLE precision with the threaded MKL library
static libraries
icc ex1.c -DMKL_DOUBLE -I${MKL_HOME}/include -I${MKL_HOME}/include/fftw -L${MKL_HOME}/lib/64 -lfftw2xc_intel_DOUBLE -Bstatic -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core -Bdynamic -lguide -lpthread -o ex1

dynamic libraries
icc ex1.c -DMKL_DOUBLE -I${MKL_HOME}/include -I${MKL_HOME}/include/fftw -L${MKL_HOME}/lib/64 -lfftw2xc_intel_DOUBLE -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core -lguide -lpthread -lm -o ex1

fftw2x (MPI version of FFTW 2)

Example using SINGLE precision
static libraries
icc -DFFTW_ENABLE_FLOAT ex1.c -I ${MKL_HOME}/include -I ${MKL_HOME}/include/fftw -L ${MKL_HOME}/lib/64 -lfftw2x_cdft_intel_SINGLE -lmkl_cdft_core -Bstatic mkl_intel_lp64 mkl_sequential mkl_core -Bdynamic -lmkl_blacs_sgimpt_ilp64 -lmpi -o ex1

dynamic libraries
icc -DFFTW_ENABLE_FLOAT ex1.c -I ${MKL_HOME}/include -I ${MKL_HOME}/include/fftw -L ${MKL_HOME}/lib/64 -lfftw2x_cdft_intel_SINGLE -lmkl_cdft_core -lmkl_intel_lp64 -lmkl_sequential -lmkl_core -lmkl_blacs_sgimpt_ilp64 -lmpi -o ex1

Example using DOUBLE precision
static libraries
icc ex1.c -I ${MKL_HOME}/include -I ${MKL_HOME}/include/fftw -L ${MKL_HOME}/lib/64 -lfftw2x_cdft_intel_DOUBLE -lmkl_cdft_core -lmkl_intel_lp64 -lmkl_sequential -lmkl_core -lmkl_blacs_sgimpt_ilp64 -lmpi -o ex1

dynamic libraries
icc ex1.c -I ${MKL_HOME}/include -I ${MKL_HOME}/include/fftw -L ${MKL_HOME}/lib/64 -lfftw2x_cdft_intel_DOUBLE -lmkl_cdft_core -lmkl_intel_lp64 -lmkl_sequential -lmkl_core -lmkl_blacs_intelmpi20_ilp64 -lmpi -o ex1

fftw3cx (FFTW3 interface)

Example using sequential MKL library
static libraries
icc ex1.c -I${MKL_HOME}/include -I${MKL_HOME}/include/fftw -L${MKL_HOME}/lib/64 -lfftw3xc_intel -Bstatic -lmkl_intel_lp64 -lmkl_sequential -lmkl_core -Bdynamic -o ex1

dynamic libraries
icc ex1.c -I${MKL_HOME}/include -I${MKL_HOME}/include/fftw -L${MKL_HOME}/lib/64 -lfftw3xc_intel -lmkl_intel_lp64 -lmkl_sequential -lmkl_core -o ex1

Example using threaded MKL library
static libraries
icc ex1.c -I${MKL_HOME}/include -I${MKL_HOME}/include/fftw -L${MKL_HOME}/lib/64 -lfftw3xc_intel -Bstatic -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core -Bdynamic -lguide -lpthread -o ex1

dynamic libraries
icc ex1.c -I${MKL_HOME}/include -I${MKL_HOME}/include/fftw -L${MKL_HOME}/lib/64 -lfftw3xc_intel -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core -lguide -lpthread -o ex1

fftw3fx (FFTW3 fortran interface)

Example using sequential MKL library
static libraries
ifort -I${MKL_HOME}/include -I${MKL_HOME}/include/fftw ex1.f -L${MKL_HOME}/lib/64 -lfftw3xf_intel -Bstatic -lmkl_intel_lp64 -lmkl_sequential -lmkl_core -Bdynamic -o ex1

dynamic libraries
ifort -I${MKL_HOME}/include -I${MKL_HOME}/include/fftw ex1.f -L${MKL_HOME}/lib/64 -lfftw3xf_intel -lmkl_intel_lp64 -lmkl_sequential -lmkl_core -o ex1

Example using threaded MKL library
static libraries
ifort -I${MKL_HOME}/include -I${MKL_HOME}/include/fftw ex1.f -L${MKL_HOME}/lib/64 -lfftw3xf_intel -Bstatic -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core -Bdynamic -lguide -lpthread -o ex1

dynamic libraries
ifort -I${MKL_HOME}/include -I${MKL_HOME}/include/fftw ex1.f -L${MKL_HOME}/lib/64 -lfftw3xf_intel -lmkl_intel_lp64 -lmkl_intel_thread -mkl_core -lguide -lpthread -o ex1

blas95

dynamic libraries
Example using sequential MKL library
ifort -I${MKL_HOME}/include/lp64 ex1.f90 -L${MKL_HOME}/lib/64 -lmkl_blas95 -lmkl_intel_lp64 -lmkl_sequential -lmkl_core -lpthread -o ex1

Example using threaded MKL library
ifort ex1.f90 -L${MKL_HOME}/lib/64 -lmkl_blas95 -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core -lguide.a -lpthread -o ex1

lapack95

static libraries
Example using threaded MKL library
ifort -I${MKL_HOME}/include/lp64 ex1.f90 -L${MKL_HOME}/lib/64 -lmkl_lapack95_lp64 -Bstatic -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core -Bdynamic -lguide -lpthread -o ex1

User Guide Homepage:

License Information

Number of Licenses:

User Fee:

Type of License: N/A

Type of Installation: Available to all allocated users

Distribution Information:

spacer
spacer spacer spacer
Upper Left Footer Upper Right Footer
TeraGrid logo
NSF logo

The TeraGrid project is funded by the National Science Foundation and includes 11 partners:
Indiana, LONI, NCAR, NCSA, NICS, ORNL, PSC, Purdue, SDSC, TACC and UC/ANL.

Please email help@teragrid.org with questions or comments.

This site is XHTML 1.0 Transitional, CSS compliant.

Bottom Left Footer Bottom Right Footer