Intel® Intel® Software Development Products for Intel® Platforms and Technologies
Intel® Math Kernel Library 10.1 for Windows*, Linux*, and Mac OS* X
 Overview

 Functionality  Compatibility
 Highlights

 New In This Release  System Requirements
 Features  Performance Improvements  Technical Support

Overview
Intel® Math Kernel Library (Intel® MKL) 9.0 for Windows*, Linux*, and Mac OS*

Intel® Math Kernel Library (Intel® MKL) offers highly optimized, extensively threaded, math routines for scientific, engineering, and financial applications that require maximum performance.

Intel MKL is available as a standalone product as well as with the Intel C++ and Fortran Compiler Professional Editions and the Intel Cluster Toolkit.

Intel® Math Kernel Library Flash Demo

View Download

Highlights
Version 10.1 Now Available!
See below for a list of the new features and performance improvements. 
Debian and Ubuntu are now supported
Click here for the full list of supported OS’s, Compilers and Processors.

Check out WhatIf.intel.com for interesting new technologies related to Intel MKL.

back to top

Features

Outstanding performance on Intel® processors
Achieve outstanding performance with the math library that is highly optimized for Intel® Itanium® 2, Intel® Xeon®, Intel® Pentium® 4, and Intel® Core™2 Duo processor-based systems. Special attention has been paid to optimizing multi-threaded performance for the new Quad-Core Intel® Xeon® processor 5300 series and the Intel® Core™ i7. Intel MKL performance is competitive with that of other math software packages on non-Intel processors.

Multi-core ready

Excellent scaling on multiprocessor systems¹
Use the built-in parallelism of Intel MKL to automatically obtain excellent scaling on multiprocessors, including the latest dual and quad-core systems. Intel MKL Level-3 BLAS, Fast Fourier transforms, and Vector Math are threaded using OpenMP*.

Thread-Safety
All Intel MKL functions are thread-safe.  A non-threaded serial version of Intel MKL is also provided.

Automatic runtime processor detection
An automatic runtime check ensures that processor-specific optimized code is executed, and that your application achieves optimal performance on every system.

Support for C and Fortran interfaces
Unlike some alternative math libraries that require you to purchase multiple products to get C and Fortran interfaces, Intel MKL includes both.

Support for all Intel® processors in one package
Other math libraries require you to purchase multiple products for support of Intel Itanium 2, Intel Xeon, and Pentium 4 processors. Intel MKL includes support for ALL of these processors in a single, inexpensive package.

Royalty-free distribution rights
Redistribute unlimited copies of the runtime libraries with your software.

User forum
Share experiences with others at the Intel engineer-moderated Intel MKL Discussion Forum.

Intel® Premier Support
Receive one year of world-class technical support with every purchase of Intel MKL. During this period, you can download product upgrades free of charge, including major version releases. For more information, visit the Intel Registration Center.

back to top

Functionality

Linear Algebra - BLAS and LAPACK
Deploy BLAS and LAPACK routines that are highly optimized for Intel processors, and provide significant performance improvements over alternative implementations. Intel MKL is compliant with the new 3.1 release of LAPACK.

Linear Algebra - ScaLAPACK
The Intel MKL implementation of ScaLAPACK can provide significant performance improvements over the standard NETLIB implementation.

Linear Algebra- Sparse Solvers
Solve large, sparse linear systems of equations with the PARDISO Direct Sparse Solver – an easy-to-use, thread-safe, high-performance, and memory-efficient software library licensed from the University of Basel. Intel MKL also includes Conjugate Gradient and FGMRES iterative sparse solvers.

Fast Fourier Transforms (FFT)
Employ multi-dimensional FFT routines (1D up to 7D) with mixed radix support and a modern, easy-to-use C/Fortran interface. Intel MKL also provides a set of C routines ("wrappers") that mimic the FFTW 2.x and 3.0 interfaces making it easy for current FFTW users to compare performance with Intel MKL.

Vector Math Library
Increase application speeds with vectorized implementations of computationally-intensive, core mathematical functions (power, trigonometric, exponential, hyperbolic, logarithmic, etc).

Vector Random Number Generators
Speed up your simulations using our vector random number generators, which can provide substantial performance improvements over scalar random number generator alternatives.

LINPACK Benchmark
Intel provides free LINPACK benchmark packages to help you obtain the highest possible benchmark results for your Intel® architecture-based systems.

back to top

New In This Release

In this release of Intel Math Kernel Library (Intel MKL 10.1), we have focused on three primary objectives.  First and always foremost is providing optimized multi-threaded performance for the newest Intel Processors (Quad-Core Intel Xeon processor 5300 series, its close relative the Dual-Core Intel® Xeon® processor 5100 series, and the Intel® Core™ i7).  Secondly, we have re-architected Intel MKL with a new “layered” architecture to better support the varied usage models of our users.  Lastly, we have merged the standard and cluster editions of Intel MKL into a single, comprehensive package.

Optimizations for the new Quad-Core Intel Xeon processor 5300 series and the Intel® Core™ i7
For more information, see section “Performance Improvements in Version 10.1” below.

New “Layered” Architecture
Intel MKL 10.0 introduced a re-architected product—providing multiple layers, and allowing the base Intel MKL package to support numerous configurations of interfaces, compilers, and processors in a single package.  Many other library vendors have specific versions that must first be found, downloaded, installed, and tested depending on the particular configuration of your development environment.  This new Intel MKL architecture is intended to provide maximum support for our varied customers’ needs, while minimizing the effort it takes to obtain and utilize the great performance of Intel MKL.  For more information, please refer to the “Using Intel MKL Parallelism” section of the Intel MKL User’s Guide.

Threading Layer
All Intel MKL threading has been isolated to this layer.  Link to the version of this layer that matches your development environment, and rest assured that Intel MKL will not have threading incompatibilities with the threading in your application

-

Fully Compliant with Microsoft, GCC, and Intel Compiler Threading
Separate versions of this layer are provided that have been compiled with different compilers (Intel, MSFT, GCC) enabling Intel MKL to be fully compliant with threading mechanisms used by whatever development environment your overall application is using.

-

Serial Version of Intel MKL
A version of the threading layer that has no threading is also provided.  This ensures that Intel MKL will not conflict with your application should you choose not to use the threading within Intel MKL.

Interface Layer
This layer enables:

-

LP64, ILP64 interfaces
An ILP64 (64-bit integer data) interface is now included in the base package of Intel MKL (no longer a separate download).  The new, layered model has made this possible with minimal increase in product package size.

-

Separate layers for different compiler parameter return value mechanisms (Intel, GCC, MSFT).

- Cray-style naming support

Computational Layer

-

The heart of Intel MKL. A runtime check is performed so that processor-specific optimized code is executed.  Users can build custom shared objects to include only the specific code needed and thus reduce the size of this layer if size is an issue.

PARDISO Direct Sparse Solver

New support for Out-of-core memory for real symmetric matrices

-

Support of separate backward/forward substitution for DSS/PARDISO.

-

A new parameter for turning off iterative refinement for DSS interface.

-

A new parameter for checking sparse matrix structure has been introduced for PARDISO interface.

-

The sparse solver functionality now integrated into the core math library and it is no longer necessary to link a separate solver library.

-

The sparse solver functionality can now be linked dynamically.

Sparse BLAS

Routines for computing the sum and product of two sparse matrices stored in the compressed sparse row format.

Routines for converting between different  sparse matrix formats have been added.

Routines for converting between different  sparse matrix formats have been added.

Sparse 0-based indexing

Single precision support added

Level-3 Sparse BLAS triangular solvers were threaded

LAPACK

The capability to track and/or interrupt the progress of lengthy LAPACK computations has been added via a callback function mechanism. A function called mkl_progress can be defined in a user application, which will be called regularly from a subset of the MKL LAPACK routines. Refer to the specific function descriptions to see which LAPACK functions support the feature.

Discrete Fourier Transform Interface (DFTI)

The DftiCopyDescriptor function has been added for convenience when using the FFTs.

The size of statically linked executables calling DFTI has been reduced significantly.

Complex storage is now available for real-to-real transforms.

Iterative Solver Preconditioner

ILUT accelerator/preconditioner for the Intel MKL RCI iterative solvers

Vector Math Functions

New Mul, Conj, MulbyConj, CIS, Abs functions.

New “Enhanced Performance” mode. EP Mode is for applications where math function inaccuracies do not dominate parameter inaccuracies (e.g. Monte Carlo simulations and Media applications).

All VML functions are now threaded

Optimized versions of the Cumulative Normal Distribution (CdfNorm), its inverse (CdfNormInv), and the inverse complementary error function (ErfcInv) have been added to the Vector Math Library.

User’s Guide

We have greatly improved our Intel MKL User’s Guide.  It is an indispensable tool for working with Intel MKL. Visit the Documentation page to download or view it online.

back to top

Performance Improvements in Version 10.1

Performance optimizations were done in all areas of the library. Below are some specific, measured performance gains. A list of performance improvements in past versions of Intel MKL is available on the Performance Improvements page. Performance charts are shown on each product domain page (BLAS/LAPACK, FFT, VML, etc).

BLAS

32-bit improvements

-

Up to 50% improvement for (Z,C)GEMM on Quad-Core Intel® Xeon® processor 5300 series

-

10% improvement for all (D,S,Z,C)GEMM code on Quad-Core Intel® Xeon® processor 5400 series

64-bit improvements

-

50% improvement for SGEMM on the Intel® Core™ i7

-

30% improvement for right-side cases of DTRSM on the Intel® Core™ i7

Direct  sparse solver (DSS/PARDISO):

35% performance improvement on average for out-of-core PARDISO

VML and VSL

Optimizations on the Intel® Core™ i7:

-

Up to 17% improvement for the following VML functions: Asin, Asinh, Acos, Acosh, Atan, Atan2, Atanh, Cbrt, CIS, Cos, Cosh, Conj, Div, ErfInv, Exp, Hypot, Inv, InvCbrt, InvSqrt, Ln, Log10, MulByConj, Sin, SinCos, Sinh, Sqrt, Tanh

-

Up to 67% improvement for uniform random-number generation

-

Up to 10% improvement for VSL distribution generators based on Wichmann-Hill, Sobol, and Niederreiter BRNGs (64-bit only)

back to top

Compatibility

Operating Systems
Intel MKL 10.1 supports Linux*, Windows*, and Mac OS* X.

Linux variants include: Red Hat*, Suse*, Debian*, Ubuntu*, Asianux*, and other Linux Standard Base 3.1 variants.

For a complete list, please see System Requirements.
Development Environments
Intel MKL is easily used and integrated with popular development tools and environments, such as Microsoft Visual Studio*, Xcode*, Eclipse*, and the GNU Compiler Collection (GCC). 
Processors
Intel MKL 10.1 supports the following families of Intel processors:
 

Intel® Itanium processors family

Intel® Xeon® processor family

Intel® Core® processor family

Intel® Pentium® processor family

AMD Opteron* and Athelon* processor families

For a complete list, please see the System Requirements below.

back to top

System Requirements

Processors
Supported Processors
Processors Minimum Recommended Supported
Intel® Itanium® processor family   Y Y
Intel® Xeon® processor family   Y Y
Intel® Core™ processor family   Y Y
Intel® Pentium® 4 processor family     Y
Intel® Pentium® III processor     Y
Intel® Pentium® processor (300 MHz or faster) Y   Y
Intel® Celeron® processor     Y
AMD Athlon* processor     Y
AMD Opteron* processor
  Y
back to top

Operating Systems
Linux* Operating Systems Supported
Linux Operating Systems Intel® Xeon®, Intel® Core™2 Duo, Intel® Pentium® 4 32-bit processors Intel® 64 architecture enabled processors Itanium® Processors
Red Hat Enterprise Linux Versions 3.0, 4.0, 5.0 Y Y Y
Red Hat Fedora Core Versions 5, 6, 7 Y Y  
SUSE Linux Enterprise Server Versions 9.0, 10.0 Y Y Y
SGI Propack Versions 4.0, 5.0     Y
Debian 3.1, 4.0 (NEW!) Y Y Y
Ubuntu 6.0, 7.0 (NEW!) Y Y Y
Asianux 3.0
(Red Flag, Hansoft, Miracle)
Y Y Y
Mandriva/Mandrake 10.1 Y Y  
Turbo Linux 10, 11 Y Y Y
Linux Standard Base 3.1 Y
Y Y
back to top

Operating Systems
Windows* Operating Systems Supported
Windows Operating Systems Intel® Xeon®, Intel® Core™2 Duo, Intel® Pentium® 4 32-bit processors Intel® 64 architecture enabled processors Itanium® 2 Processors
Windows Vista™ Y Y  
Windows XP Y    
Windows XP Pro 64-bit Edition   Y  
Windows Server* 2003 Y    
Windows Server 2003, Enterprise X64 Edition   Y  
Windows Server 2003, 64-bit edition
  Y
back to top

Operating Systems
Mac Operating Systems Supported
Mac OS* X 10.4.4 or higher
back to top

Compilers
Linux* Compilers Supported
(Fully validated on list below, but known to work with other compilers)
Linux Compilers Intel® Xeon®, Intel® Core™2 Duo, Intel® Pentium® 4 32-bit processors Intel® 64 architecture enabled processors Itanium® 2 Processors
Intel® Visual Fortran Compiler for Linux Versions 9.1, 10.0, 10.1, 11.0 Y Y Y
Intel® C++ Compiler for Linux Versions 9.1, 10.0, 10.1, 11.0 Y Y Y
GNU Compiler Collection* Y
Y Y
back to top

Compilers
Windows* Compilers Supported
Windows Compilers Intel® Xeon®, Intel® Core™2 Duo, Intel® Core™ i7, Intel® Pentium® 4 32-bit processors Intel® 64 architecture enabled processors Itanium® 2 Processors
Intel® Visual Fortran Compiler for Windows* versions 9.1, 10.0, 10.1, 11.0 Y Y Y
Intel® C++ Compiler for Windows versions 9.1, 10.0, 10.1, 11.0 Y Y Y
Microsoft Visual C++* 2002 Y    
Microsoft Visual C++* .NET 2003 Y    
Microsoft Visual C++* .NET 2005 Y Y  
Microsoft Visual C++* 2005 Team Suite Y Y Y
Microsoft Platform SDK compiler
Y Y
back to top

Compilers
Mac OS* X Compilers Supported
Intel® Fortran Compiler 9.1, 10.0, 10.1, 11.0 for Mac OS X
Intel® C++ Compiler 9.1, 10.0, 10.1, 11.0 for Mac OS X
GNU Compiler Collection*
* Includes Apple’s version of GCC 4.0 that is included in Apple Xcode* 2.0.
back to top

Message Passing Interface (MPI) Support
Linux*
MPICH 1.2.5
MPICH 1.2.5.2 www-unix.mcs.anl.gov/mpi/mpich/
MPICH 1.2.5.10 www.myri.com
MPICH 2.0 www-unix.mcs.anl.gov/mpi/mpich/
Open MPI 1.1.2 www.open-mpi.org
SGI MPT www.sgi.com/products/software/mpt
Intel® MPI Library 2.0, 3.0 www.intel.com/go/mpi
Windows*
Microsoft MPI (MS MPI) www.microsoft.com
MPICH-2  1.0.X for Windows www-unix.mcs.anl.gov/mpi/mpich2
back to top
Hard Disk Space
  Linux* Windows* Mac OS* X
Intel® Math Kernel Library 700 MB 600 MB 600 MB
back to top

Support

Every purchase of an Intel® Software Development Product includes a year of support services, which provides access to Intel Premier Support and all product updates during that time. Intel Premier Support gives you online access to technical notes, application notes, and documentation. Install the product, and then register to get support and product update information.

back to top

¹ Performance tests and ratings are measured using specific computer systems and/or components and reflect the appropriate performance of Intel products as measured by those tests. Any difference in system design or configuration may affect actual performance. Buyers should consult other sources of information to evaluate the performance of systems or components they are considering purchasing. Get more information on performance tests and on the performance of Intel products.

Intel provides both the tools and support to enhance the performance, functionality and efficiency of software applications.

Compatible with leading Windows* and Linux* development environments, Intel® Software Development Products are the fastest and easiest way to take advantage of the latest features of Intel processors. Intel Software Development Products are designed for use in the full development cycle, and include Intel® Performance Libraries, Intel Compilers (C++, Fortran for Windows, Linux, and Mac OS* X), Intel® VTune™ Analyzer, and Intel® Threading Tools and Intel® Cluster Tools.
The Intel® Premier Customer Support Web site provides expert technical support for all Intel software products, product updates and related downloads. For additional product information visit: www.intel.com/software/products.
Intel, the Intel logo, Itanium, Pentium, Intel Centrino, Intel Xeon, Intel XScale, VTune, Celeron, Intel NetBurst, and MMX are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States and other countries.
*Other brands and names may be claimed as the property of others. Visit our Legal Information Web site for more information.
Copyright © 2008, Intel Corporation
back to top