New in Intel® MKL
Technical Support and Feedback
Related Products and Services
Disclaimer and Legal Information
The Intel® Math Kernel Library (Intel® MKL) provides developers of scientific, engineering and financial software with a set of linear algebra routines, fast Fourier transforms, and vectorized math and random number generation functions, all optimized for the latest Intel® Pentium® 4 processors, Intel® Xeon® processors with Streaming SIMD Extensions 3 (SSE3) and Intel® Extended Memory 64 Technology (Intel® EM64T), and Intel® Itanium® 2 processors. This software also performs well on non-Intel (x86) processors.
Intel® MKL provides linear algebra functionality with LAPACK (solvers and eigensolvers) plus level 1, 2, and 3 BLAS offering the vector, vector-matrix, and matrix-matrix operations needed for complex mathematical software. Users who prefer the FORTRAN 90/95 programming language may call LAPACK driver and computational subroutines via specially designed interfaces with reduced numbers of arguments. Intel® MKL provides ScaLAPACK (SCAlable LAPACK) and support functionality including the Parallel Basic Linear Algebra Subprograms (PBLAS). For solving sparse systems of equations, Intel® MKL provides direct and iterative sparse solvers as well as a supporting set of sparse BLAS (levels 1, 2, and 3).
Intel® MKL offers multidimensional fast Fourier transforms (1D, 2D, 3D) with mixed radix support (not limited to sizes of powers of 2). Intel® MKL also provides distributed versions of these functions for use on clusters. For the solution of partial differential equations (PDE), Intel® MKL provides a few preconditioners to help with the convergence of our iterative solvers. Optimization [Trust Region] solvers provide efficient routines for solving nonlinear least square problems with and without boundary constraints.
Intel® MKL also includes a set of vectorized transcendental functions (called the Vector Math Library (VML)) offering both greater performance and excellent accuracy compared to the libm (scalar) functions for most of the processors. The Vector Statistical Library (VSL) offers high performance vectorized random number generators for a number of probability distributions as well as convolution and correlation routines. Intel® MKL also includes a set of functions which act on intervals of floating point numbers. This interval arithmetic package includes solvers for interval systems of linear equations, interval matrix inversion, as well as functions for testing the regularity/singularity of interval matrices.
The BLAS, LAPACK, direct sparse solver (DSS), FFT, VML library functions, and optimization solvers in Intel® MKL are threaded using OpenMP*. All of Intel® MKL is thread-safe.
Intel® MKL product changes since Intel® MKL 9.1
Performance improvements since Intel® MKL 9.1
To install and use Intel® MKL you will need a system with a supported processor and 700 MB of free hard disk space plus an additional 400 MB during installation for download and temporary files (host system only).
Supported processors - The following is a list of processors on which Intel® MKL is expected to run.
To use Intel® MKL you will need a supported compiler and MPI implementation.
Following is the list of supported operating systems:
Following is the list of supported C/C++ and Fortran compilers:
Following is the list of MPI implementations that Intel® MKL has been validated against:
Guidance on the installation of Intel® MKL is provided at install time. Links will be provided to a file with step-by-step instructions (filename: Install.txt). This file can also be found in the doc directory.
The Documentation Index (Doc_index.htm in the doc directory) has a list of the principal Intel® MKL documents. For a complete list, see chapter 3 of the User's Guide.
Limitations to Poisson Library Routines
Limitations to the sparse solver and optimization solvers in Intel® MKL 10.0:
Limitations to the FFT functions in Intel® MKL 10.0:
Limitations to the LAPACK functions in Intel® MKL 10.0:
Limitations to the Vector Math Library (VML) and Vector Statistical Library (VSL) functions in
Intel® MKL @:
Limitations to the interval arithmetic functions in Intel® MKL 10.0:
Limitations to the ScaLAPACK functions in Intel® MKL 10.0:
Limitations to the ILP64 version of Intel® MKL:
Limitations to the Java examples:
Limitations to the Fortran 95 interface to LAPACK:
Limitations to the g77 compiler support:
On Intel® processors with Intel® EM64T enabled, user programs compiled with the GNU Fortran compiler (version 3.2.3) will likely get incorrect results from those functions in Intel® MKL that return single precision values, if -fno-f2c GNU Fortran compiler flag isn't used. The GNU Fortran compiler by default expects REAL*4 values in the first 8 bytes of the return register (just as a double precision value would be represented) while the Intel® Fortran compiler expects REAL*4 values in the first 4 bytes of the return register. The behavior of Intel® MKL is compatible with that of the Intel Fortran compiler. GNU Fortran compiler behavior could be changed to be compatible with the Intel Fortran compiler by using the -fno-f2c flag.
FFT, VML, VSL, and PDE Support functions can not be called from Fortran-77. These components have Fortran-90/95 interface specifics (structures, ..) that can not be used with Fortran-77.
We recommend that -Od be used for the 10.0 Intel® compilers when compiling test source code available with Intel® MKL. Current build scripts do not specify this option and default behavior for these compilers has changed to provide vectorization.
All VSL functions return an error status, i.e., default VSL API is a function style now rather than a subroutine style used in earlier Intel® MKL versions. This means that Fortran users should call VSL routines as functions. For example:
errstatus = vslrnggaussian(method, stream, n, r, a, sigma)rather than subroutines:
call vslrnggaussian(method, stream, n, r, a, sigma)Nevertheless, Intel® MKL provides a subroutine-style interface for backward compatibility. To use subroutine-style interface, manually include mkl_vsl_subroutine.fi file instead of mkl_vsl.fi by changing the line include 'mkl_vsl.fi' in include\mkl.fi with the line include 'mkl_vsl_subroutine.fi'. VSL API changes don't affect C/C++ users.
Hyper-Threading Technology (HT Technology) is especially effective when each thread is performing different types of operations and when there are under-utilized resources on the processor. Intel® MKL fits neither of these criteria as the threaded portions of the library execute at high efficiencies (using most of the available resources) and perform identical operations on each thread. You may obtain higher performance when using Intel® MKL without HT Technology enabled.
Memory Allocation: In order to achieve better performance, memory
allocated by Intel® MKL is not released. This behavior is by design and is a one
time occurrence for Intel® MKL routines that require workspace memory buffers.
Even so, the user should be aware that some tools may report this as a memory
leak. Should the user wish, memory can be released by the user program through
use of a function (
available in Intel® MKL or memory can be released
after each call by setting an environment variable (
(see User's Guide in the
for more details). Using one of these methods to release memory will not
necessarily stop programs from reporting memory leaks, and in fact may increase
the number of such reports should you make multiple calls to the library
thereby requiring new allocations with each call. Memory not released by one of
the methods described will be released by the system when the program ends. To avoid this
restriction disable memory management as described above.
On Red Hat* Enterprise Linux 3.0, in order to ensure that the correct support libraries are linked, the environment variable LD_ASSUME_KERNEL must be set: For example: 'export LD_ASSUME_KERNEL=2.4.1'
Other: GMP and Interval Solver components are located in the solver library. For Intel® 64 and IA-64 platforms these components support only LP64 interface.
Self Help and User Forums
A rich repository of self-help product information such as tutorials, getting started tips, known product issues, product errata, compatibility information and answers to frequently asked questions can be found at the Intel® Software Development Products Technical Support site (http://www.intel.com/software/products/support/index.htm). It's a great place to find answers quickly or to gain insight in using our products effectively.
The Intel® MKL User Forum (http://softwareforums.intel.com/ids/board?board.id=MKL) is the place to ask questions of and share information with other users of Intel® MKL.
Your feedback is very important to us. To receive technical support and product updates for the tools provided in this product you need to register at the Intel® Registration Center (https://registrationcenter.intel.com/).
If you have questions or problems getting started with the Intel® Math Kernel Library please contact support at https://registrationcenter.intel.com/support/.
Note: Please notify your support representative prior to submitting source code where access needs to be restricted to certain countries to determine if this request can be accommodated.
To submit an issue via the Intel® Premier Support website, please perform the following steps:
Please follow these guidelines when forming your problem report or product suggestion:
Information on Intel® software development products is available at http://www.intel.com/software/products. Some of the related products include:
As referenced in the End User License Agreement, attribution requires, at a minimum, prominently displaying the full Intel product name (e.g. "Intel® Math Kernel Library") and providing a link/URL to the Intel® MKL homepage (www.intel.com/software/products/mkl) in both the product documentation and website.
The original versions of the BLAS from which that part of Intel® MKL was derived can be obtained from http://www.netlib.org/blas/index.html.
The original versions of LAPACK from which that part of Intel® MKL was derived can be obtained from http://www.netlib.org/lapack/index.html. The authors of LAPACK are E. Anderson, Z. Bai, C. Bischof, S. Blackford, J. Demmel, J. Dongarra, J. Du Croz, A. Greenbaum, S. Hammarling, A. McKenney, and D. Sorensen. Our FORTRAN 90/95 interfaces to LAPACK are similar to those in the LAPACK95 package at http://www.netlib.org/lapack95/index.html. All interfaces are provided for pure procedures.
The original versions of ScaLAPACK from which that part of Intel® MKL was derived can be obtained from http://www.netlib.org/scalapack/index.html. The authors of ScaLAPACK are L. S. Blackford, J. Choi, A. Cleary, E. D'Azevedo, J. Demmel, I. Dhillon, J. Dongarra, S. Hammarling, G. Henry, A. Petitet, K. Stanley, D. Walker, and R. C. Whaley.
PARDISO in Intel® MKL 10.0 is compliant with the 3.2 release of PARDISO freely distributed by the University of Basel. It can be obtained at http://www.pardiso-project.org.
Some FFT functions in this release of Intel® MKL have been generated by the SPIRAL software generation system (http://www.spiral.net/) under license from Carnegie Mellon University. Some FFT functions in this release of the Intel® MKL DFTI have been generated by the UHFFT software generation system under license from University of Houston. The Authors of SPIRAL are Markus Puschel, Jose Moura, Jeremy Johnson, David Padua, Manuela Veloso, Bryan Singer, Jianxin Xiong, Franz Franchetti, Aca Gacic, Yevgen Voronenko, Kang Chen, Robert W. Johnson, and Nick Rizzolo.
INFORMATION IN THIS DOCUMENT IS PROVIDED IN CONNECTION WITH INTEL(R) PRODUCTS. NO
LICENSE, EXPRESS OR IMPLIED, BY ESTOPPEL OR OTHERWISE, TO ANY INTELLECTUAL PROPERTY
RIGHTS IS GRANTED BY THIS DOCUMENT. EXCEPT AS PROVIDED IN INTEL'S TERMS AND CONDITIONS
OF SALE FOR SUCH PRODUCTS, INTEL ASSUMES NO LIABILITY WHATSOEVER, AND INTEL DISCLAIMS
ANY EXPRESS OR IMPLIED WARRANTY, RELATING TO SALE AND/OR USE OF INTEL PRODUCTS INCLUDING
LIABILITY OR WARRANTIES RELATING TO FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY,
OR INFRINGEMENT OF ANY PATENT, COPYRIGHT OR OTHER INTELLECTUAL PROPERTY RIGHT.
UNLESS OTHERWISE AGREED IN WRITING BY INTEL, THE INTEL PRODUCTS ARE NOT DESIGNED NOR INTENDED FOR ANY APPLICATION IN WHICH THE FAILURE OF THE INTEL PRODUCT COULD CREATE A SITUATION WHERE PERSONAL INJURY OR DEATH MAY OCCUR.
Intel may make changes to specifications and product descriptions at any time, without notice. Designers must not rely on the absence or characteristics of any features or instructions marked "reserved" or "undefined." Intel reserves these for future definition and shall have no responsibility whatsoever for conflicts or incompatibilities arising from future changes to them. The information here is subject to change without notice. Do not finalize a design with this information.
The products described in this document may contain design defects or errors known
as errata which may cause the product to deviate from published specifications.
Current characterized errata are available on request.
Contact your local Intel sales office or your distributor to obtain the latest specifications
and before placing your product order.
Copies of documents which have an order number and are referenced in this document, or other Intel literature, may be obtained by calling 1-800-548-4725, or by visiting Intel's Web Site.
Intel processor numbers are not a measure of performance. Processor numbers differentiate features within each processor family, not across different processor families. See http://www.intel.com/products/processor_number for details.
This document contains information on products in the design phase of development.
BunnyPeople, Celeron, Celeron Inside, Centrino, Centrino logo, Core Inside, FlashFile, i960, InstantIP, Intel, Intel logo, Intel386, Intel486, Intel740, IntelDX2, IntelDX4, IntelSX2, Intel Core, Intel Inside, Intel Inside logo, Intel. Leap ahead., Intel. Leap ahead. logo, Intel NetBurst, Intel NetMerge, Intel NetStructure, Intel SingleDriver, Intel SpeedStep, Intel StrataFlash, Intel Viiv, Intel vPro, Intel XScale, IPLink, Itanium, Itanium Inside, MCS, MMX, Oplus, OverDrive, PDCharm, Pentium, Pentium Inside, skoool, Sound Mark, The Journey Inside, VTune, Xeon, and Xeon Inside are trademarks of Intel Corporation in the U.S. and other countries.
* Other names and brands may be claimed as the property of others.
Copyright (C) 2000-2007, Intel Corporation. All rights reserved.