Overview
New in Intel® MKL
System Requirements
Installation Notes
Documentation
Known Limitations
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® 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.
New in Intel® MKL 10.0 Update 4
New in Intel® MKL 10.0 Update 3
New in Intel® MKL 10.0 Update 2
New in Intel® MKL 10.0 Update 1
New in Intel® MKL 10.0
Intel® MKL product changes since Intel® MKL 9.1
Performance improvements since Intel® MKL 9.1
Other Improvements
Hardware
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.
Software
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:
Note:
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 the sparse solver and optimization solvers:
Limitations to the FFT functions:
Limitations to the LAPACK functions:
Limitations to the Vector Math Library (VML) and Vector Statistical Library (VSL) functions
Limitations to the interval arithmetic functions:
Limitations to the ScaLAPACK functions:
Limitations to the ILP64 version of Intel® MKL:
Limitations to the Java examples:
The DHPL_CALL_CBLAS option is not allowed when building the hybrid version of MP LINPACK.
Limitations to the Fortran 95 interface to LAPACK:
Limitations to the g77 compiler support:
On Intel® 64 processors, 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.
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 (MKL_FreeBuffers
(
)
) made available in Intel® MKL or memory can be released after each call by setting the environment variable MKL_DISABLE_FAST_MM
(see User's Guide in the doc
directory 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.
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 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-2008, Intel Corporation. All rights reserved.