Intel® Math Kernel Library

Fastest and most used math library for Intel and compatible processors**

  • Vectorized and threaded for highest performance on all Intel and compatible processors
  • De facto standard APIs for simple code integration
  • Compatible with all C, C++ and Fortran compilers
  • Royalty-free, per developer licensing for low cost deployment

From $499
Buy Now

Or Download a Free 30-Day Evaluation Version

Performance: Ready to Use

Intel® Math Kernel Library (Intel® MKL) includes a wealth of routines to accelerate application performance and reduce development time. Today’s processors have increasing core counts, wider vector units and more varied architectures. The easiest way to take advantage of all of that processing power is to use a carefully optimized computing math library designed to harness that potential. Even the best compiler can’t compete with the level of performance possible from a hand-optimized library.

Because Intel has done the engineering on these ready-to-use, royalty-free functions, you’ll not only have more time to develop new features for your application, but in the long run you’ll also save development, debug and maintenance time while knowing that the code you write today will run optimally on future generations of Intel processors.

Intel® MKL includes highly vectorized and threaded Linear Algebra, Fast Fourier Transforms (FFT), Vector Math and Statistics functions. Through a single C or Fortran API call, these functions automatically scale across previous, current and future processor architectures by selecting the best code path for each.


Intel® MKL delivers industry-leading performance on Monte Carlo and other math-intensive routines


Quotes

“I’m a C++ and Fortran developer and have high praise for the Intel® Math Kernel Library. One nice feature I’d like to stress is the bitwise reproducibility of MKL which helps me get the assurance I need that I’m getting the same floating point results from run to run."
Franz Bernasek
CEO and Senior Developer, MSTC Modern Software Technology

“Intel MKL is indispensable for any high-performance computer user on x86 platforms.”
Prof. Jack Dongarra,
Innovative Computing Lab,
University of Tennessee, Knoxville

Comprehensive Math Functionality – Covers Range of Application Needs
Click to enlarge

Comprehensive Math Functionality – Covers Range of Application Needs

Intel® MKL contains a wealth of threaded and vectorized complex math functions to accelerate a wide variety of software applications. Why write these functions yourself when Intel has already done the work for you?

Major functional categories include Linear Algebra, Fast Fourier Transforms (FFT), Vector Math and Statistics. Cluster-based versions of LAPACK and FFT are also included to support MPI-based distributed memory computing.

Standard APIs – For Immediate Performance Results

Click to enlarge

Standard APIs – For Immediate Performance Results

Wherever available, Intel® MKL uses de facto industry standard APIs so that minimal code changes are required to switch from another library. This makes it quick and easy to improve your application performance through simple function substitutions or relinking.

Simply substituting Intel® MKL’s LAPACK (Linear Algebra PACKage), for example, can yield 500% or higher performance improvement (benchmark left.)

In addition to the industry-standard BLAS and LAPACK linear algebra APIs, Intel® MKL also supports MIT’s FFTW C interface for Fast Fourier Transforms.

Highest Performance and Scalability across Past, Present & Future Processors – Easily and Automatically
Click to enlarge

Highest Performance and Scalability across Past, Present & Future Processors – Easily and Automatically

Behind a single C or Fortran API, Intel® MKL includes multiple code paths -- each optimized for specific generations of Intel and compatible processors. With no code-branching required by application developers, Intel® MKL utilizes the best code path for maximum performance.

Even before future processors are released, new code paths are added under these same APIs. Developers just link to the newest version of Intel® MKL and their applications are ready to take full advantage of the newest processor architectures.

In the case of the Intel® Many Integrated Core Architecture (Intel® MIC Architecture), in addition to full native optimization support, Intel® MKL can also automatically determine the best load balancing between the host CPU and the Intel® Xeon® Phi™ coprocessor.

Flexibility to Meet Developer Requirements
Click to enlarge

Flexibility to Meet Developer Requirements

Developers have many requirements to meet. Sometimes these requirements conflict and need to be balanced. Need consistent floating point results with the best application performance possible? Want faster vector math performance and don’t need maximum accuracy? Intel® MKL gives you control over the necessary tradeoffs.

Intel® MKL is also compatible with your choice of compilers, languages, operating systems, linking and threading models. One library solution across multiple environments means only one library to learn and manage.

FeatureBenefit
Conditional Numerical Reproducibility

Overcome the inherently non-associativity characteristics of floating-point arithmetic results with new support in the Intel MKL. New in this release is the ability to achieve reproducibility without memory alignment.

New and improved optimizations for Haswell Intel® Core™, Intel® microarchitecture code name Ivy Bridge, future Broadwell processors and Intel® Xeon® Phi™ coprocessors

Intel MKL is optimized for the latest and upcoming processor architectures to deliver the best performance in the industry. For example, new optimizations for the fusedmultiply-add (FMA) instruction set introduced in Haswell Core processors deliver up to 2x performance improvement for floating point calculations.

Automatic offload and compute load balancing between Intel Xeon processors and Intel Xeon Phi coprocessors – Now for Windows*

For selected linear algebra functions, Intel MKL can automatically determine the best way to utilize a system containing one or more Intel Xeon Phi coprocessors. The developer simply calls the MKL function and it will take advantage of the coprocessor if present on the system. New functions added for this release plus Windows OS support.

ExtendedEigensolver Routines based on the FEAST algorithm

New sparse matrix Eigensolver routines handle larger problem sizes and use less memory. API-compatibility with the open source FEAST Eigenvalue Solver makes it easy to switch to the highly optimized Intel MKL implementation.

Linear Algebra

Intel® MKL BLAS provides optimized vector-vector (Level 1), matrix-vector (Level 2) and matrix-matrix (Level 3) operations for single and double precision real and complex types. Level 1 BLAS routines operate on individual vectors, e.g., compute scalar product, norm, or the sum of vectors. Level 2 BLAS routines provide matrix-vector products, rank 1 and 2 updates of a matrix, and triangular system solvers. Level 3 BLAS level 3 routines include matrix-matrix products, rank k matrix updates, and triangular solvers with multiple right-hand sides.

Intel® MKL LAPACK provides extremely well-tuned LU, Cholesky, and QR factorization and driver routines that can be used to solve linear systems of equations. Eigenvalue and least-squares solvers are also included, as are the latest LAPACK 3.4.1 interfaces and enhancements.

If your application already relies on the BLAS or LAPACK functionality, simply re-link with Intel® MKL to get better performance on Intel and compatible architectures.

Fast Fourier Transforms

Intel® MKL FFTs include many optimizations and should provide significant performance gains over other libraries for medium and large transform sizes. The library supports a broad variety of FFTs, from single and double precision 1D to multi-dimensional, complex-to-complex, real-to-complex, and real-to-real transforms of arbitrary length. Support for both FFTW* interfaces simplifies the porting of your FFTW-based applications.

Vector Math

Intel® MKL provides optimized vector implementations of computationally intensive core mathematical operations and functions for single and double precision real and complex types. The basic vector arithmetic operations include element-by-element summation, subtraction, multiplication, division, and conjugation as well as rounding operations such as floor, ceil, and round to the nearest integer. Additional functions include power, square root, inverse, logarithm, trigonometric, hyperbolic, (inverse) error and cumulative normal distribution, and pack/unpack. Enhanced capabilities include accuracy, denormalized number handling, and error mode controls, allowing users to customize the behavior to meet their individual needs.

Statistics

Intel® MKL includes random number generators and probability distributions that can deliver significant application performance. The functions provide the user the ability to pair Random-Number Generators such as Mersenne Twister and, Niederreiter with a variety of Probability Distributions including Uniform, Gaussian and Exponential.

Intel® MKL also provides computationally intensive core/building blocks for statistical analysis both in and out-of-core. This enables users to compute basic statistics, estimation of dependencies, data outlier detection, and missing value replacements. These features can be used to speed-up applications in computational finance, life sciences, engineering/simulations, databases, and other areas.

Data Fitting

Intel® MKL includes a rich set of splines functions for 1-dimensional interpolation. These are useful in a variety of application domains including data analytics (e.g. histograms), geometric modeling and surface approximation. Splines included are linear, quadratic, cubic, look-up, stepwise constant and user-defined.

What’s New

Conditional Bitwise Reproducible Results

When exact reproducible calculations are required, Intel® MKL gives developers control over the tradeoffs to maximize performance across a set of target processors while delivering identical floating point results

Optimized for Intel® Advanced Vector Extensions 2 (Intel® AVX2), Intel® microarchitecture code name Ivy Bridge and Intel® Many Integrated Core Architecture (Intel® MIC Architecture) processor architectures

Intel® MKL is optimized for the latest and upcoming processor architectures to deliver the best performance in the industry. Support for the new digital random number generator provides truly random seeding of statistical calculations.

Automatic offload and compute load balancing between Intel® Xeon® processor and Intel® Xeon Phi™ coprocessors

For Linear Algebra functionality, Intel® MKL can automatically determine the best way to utilize a system containing one or more Intel® MIC processors. The developer simply calls an MKL function and doesn’t have to worry about the details.

Data Fitting functions

A rich set of splines are now included to optimize 1-dimensional interpolation calculations used in a variety of application domains

Conditional Bitwise Reproducible Results

When exact reproducible calculations are required, Intel® MKL gives developers control over the tradeoffs to maximize performance across a set of target processors while delivering identical floating point results

Optimized for Intel® Advanced Vector Extensions 2 (Intel® AVX2), Intel® microarchitecture code name Ivy Bridge and Intel® Many Integrated Core Architecture (Intel® MIC Architecture) processor architectures

Intel® MKL is optimized for the latest and upcoming processor architectures to deliver the best performance in the industry. Support for the new digital random number generator provides truly random seeding of statistical calculations.

Automatic offload and compute load balancing between Intel® Xeon® processor and Intel® Xeon Phi™ coprocessors

For Linear Algebra functionality, Intel® MKL can automatically determine the best way to utilize a system containing one or more Intel® MIC processors. The developer simply calls an MKL function and doesn’t have to worry about the details.

Data Fitting functions

A rich set of splines are now included to optimize 1-dimensional interpolation calculations used in a variety of application domains

Click on images for a larger view of the benchmark graphic.


Linear Algebra Performance Charts


DGEMM
DGEMM Performance Benchmark

Intel® Optimized SMP LINPACK
Intel® Optimized SMP LINPACK Benchmark

HPL LINPACK
HPL LINPACK performance benchmark

LU Factorization
LU Factorization Performance Benchmark

Cholesky Factorization
Cholesky Factorization Benchmark


FFT Performance Charts


2D and 3D FFTs on Intel® Xeon and Intel® Core Processors
Cluster FFT Performance Benchmark

Cluster FFT Performance
Cluster FFT Performance Benchmark

Cluster FFT Scalability
Cluster FFT Scalability Benchmark


Sparse BLAS and Sparse Solver

Performance Charts



Data Fitting Performance Charts


DCSRGEMV and DCSRMM
DCSRGEMV and DCSRMM performance benchmark

PARDISO Sparse Solver
PARDISO Sparse Solver performance benchmark

Natural cubic spline construction and interpolation
Natural cubic spline construction and interpolation Performance Benchmark


Random Number Generator Performance Charts



Vector Math Performance Chart



Application Benchmark Performance Chart


MCG31m1
Random Number Generator Performance Benchmark

VML exp()
VML exp() Function Performance Benchmark

Monte-Carlo option pricing performance benchmark
Monte-Carlo option pricing performance benchmark

Click on images for a larger view of the benchmark graphic.


Linear Algebra Performance Charts


Intel® Optimized SMP LINPACK
DGEMM Performance Benchmark

LU Factorization
LU Factorization Performance Benchmark

QR Factorization
QR Factorization Performance Benchmark

HPL LINPACK
HPL LINPACK

Cholesky Factorization
Cholesky Factorization Performance Benchmark

Matrix Multiply
Matrix Multiply Performance Benchmark


Application Benchmark Performance Chart



Batch 1D FFT Performance Chart



Black- Scholes Chart           


Monte Carlo Option Pricing
Monte Carlo Option Pricing Performance Benchmark

 
Batch 1D FFT Performance Chart

 
Black- Scholes Performance Benchmark

Videos to help you get started.

Register for future Webinars


Previously recorded Webinars:

  • Powered by MKL Accelerating NumPy and SciPy Performance with Intel® MKL- Python
  • Get Ready for Intel® Math Kernel Library on Intel® Xeon Phi™ Coprocessor
  • Beginning Intel® Xeon Phi™ Coprocessor Workshop: Advanced Offload Topics
  • Accelerating financial services applications using Intel® Parallel Studio XE with the Intel® Xeon Phi™ coprocessor

Featured Articles

Контент не найден

Страницы

More Tech Articles

Running The HPL Benchmark Over Intel MPI
By Mohamad SindiPosted 10/25/20100
This is a step by step procedure on how to run the High Performance Linpack (HPL) benchmark on a Linux cluster using Intel-MPI. This was done on a Linux cluster of 128 nodes running Intel’s Nehalem processor 2.93 MHz with 12GB of RAM on each node.
Hybrid applications: Intel MPI Library and OpenMP*
By Gergana Slavova (Intel)Posted 05/21/20091
Tips and tricks on how to get the optimal performance settings for your mixed Intel MPI/OpenMP applications.
Intel® MPI Library for Linux* Tips and Tricks - FAQ: Part 1 of 2
By Andrey Derbunovich (Intel)Posted 05/07/20090
An FAQ regarding starting up and tuning the Intel MPI Library
Writing Parallel Programs: a multi-language tutorial introduction
By Andrey Chernyshev (Intel)Posted 12/02/200810
Introduction Parallel programming was once the sole concern of extreme programmers worried about huge supercomputing problems. With the emergence of multi-core processors for mainstream applications, however, parallel programming is well poised to become a technique every professional software de...

Страницы

Подписаться на

Supplemental Documentation

Контент не найден
Подписаться на

You can reply to any of the forum topics below by clicking on the title. Please do not include private information such as your email address or product serial number in your posts. If you need to share private information with an Intel employee, they can start a private thread for you.

New topic    Search within this forum     Subscribe to this forum


Scalapack PXLAWRITE and PXLAREAD
By John Young2
Hi, Does MKL Scalapack include the PXLAWRITE and PXLAREAD (X=Z,C,D,S) subroutines?  When I try to use them in my code I get 'undefined reference' link errors.  I do not see them in the MKL documentation, but I've come across a number of scalapack functions not included in the documentation that still exist in the library. Thanks, John
Problem with MKL and MEX
By Anas A.1
I am trying to write a mex programm but it gives errors. When I use the VS2012 the code runs, but when I converted it to mex it didn't work. The code gives errors when it tries to use the mkl library (function dcopy, dgemm etc). I have installed the Composer XE 2013 SP1 and I use this command to compile the code mex -largeArrayDims ads.c -I"C:\Program Files (x86)\Intel\Composer XE 2013 SP1\mkl\include" -L"C:\Program Files (x86)\Intel\Composer XE 2013 SP1\mkl\lib\intel64" -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core -lmkl_blas95_lp64 -lmkl_intel_ilp64 -lmkl_sequential -lmkl_blas95_lp64   For example I tried to use the function dcopy and the code and erros are: #include <math.h> #include <stdio.h> #include <stdlib.h> #include <mkl.h> #include "mkl_vml.h" #include "mex.h" #include "matrix.h" #include "mkl_vsl.h" void mexFunction(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[]) { double a[4]={1,2,3,4}; ...
mkl_serv_set_xerbla_interface
By opmkl1
Hi, I just bumped into this error message while attempting to run a newly-built code: "Entry Point Not Found - The procedure entry point mkl_serv_set_xerbla_interface" could not be located in the dynamic link library mkl_intel_thread.dll". Any suggestions to fix this would be appreciated! The code is built with XE 2013 SP1 and the MKL libraries that come with it (Fortran/Libraries/Use Intel Math Kernel Library="Parallel (/Qmkl:parallel)". The runtime library is "Multithread DLL". It also USEs the LAPACK_95 and BLAS_95 modules (Linker/Input/Additional Dependencies = "mkl_blas95_lp64.lib mkl_lapack95_lp64.lib"), not sure if this is relevant. The platform is a Windows 7 64-bit workstation. Thanks in advance for your help, Olivier  
Cannot run SVD on Armadillo linked with MKL
By Matthew H.2
Hi, I am trying to run an SVD on a 19016x19016 matrix on my Mac OSX Mavericks with Armadillo linked to Intel MKL. But I get the following error: ./example SVD Start: 19016 19016 0.000000 ** On entry to DGESDD, parameter number 12 had an illegal value error: svd(): failed to converge Here is my code: #define ARMA_DONT_USE_WRAPPER #include mat U, V, A; vec s; svd(U,s,V,A); I make the program with: g++-4.2 -O3 -framework Accelerate example.cpp mmio.cpp -o example
Is MKL plan to implement the parallel sparse blas?
By Rocky Tang2
I know the MKL can deal with the sparse blas. It is very useful for the finite element coding. However, for the parallel computing, it needs parallel sparse blas. So, Is MKL plans to implement the parallel sparse blas? It will be very useful for the parallel finite element simulation. Furthermore, I found in the forum that the MKL will implement the MPI based pardiso in version 11.2. So, when it will be released?
PARDISO linking in a c++ project
By Jae Young L.2
I have been using MKL PARDISO in C language projects for many years.  I works nicely.  Recently, I tried to include PARDISO in C++ project.  But it does not work.  The linker gives a message that PARDISO and omp_get_max_threads are undefined symbols."  I included the following libraries: MKL_C, MKL_IA32, MKL_lapack, MKL_solver and libguide40.  What am I missing?
MKL FFTW interface performance
By Esteban Meneses1
   Hi,    I am trying to reproduce the results of the MKL FFTW interface in this report: http://download-software.intel.com/sites/default/files/article/165868/in...    Does anybody know where I can get the source code used in that report?    So far, I have been running the source code in this webpage: http://numbercrunch.de/blog/2010/03/parallel-fft-performance/comment-pag... but the MKL FFTW interface shows really poor performance. I wonder if there is something I am missing.    Thanks.
C# Nonlinear Optimization Problem Solvers
By Michael W.2
Hi, I'm using Intel MKL from C#. In General it works. I want to use the Nonlinear Optimization Problem Solvers and I've translated the example, see http://software.intel.com/en-us/node/471540. But the dtrnlsp_solve gives me sometimes a memory exception (attempt to read write protected memory).  I've attached all the dllimports, see below. [DllImport("mkl", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true, SetLastError = false)] internal static extern int dtrnlsp_init( ref IntPtr handle, ref int n, ref int m, IntPtr x, [In] double[] eps, ref int iter1, ref int iter2, ref double rs); [DllImport("mkl", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true, SetLastError = false)] internal static extern int dtrnlsp_check( ref IntPtr handle, ref int n, ref int m, IntPtr fjac, IntPtr fvec, [In] double[] eps, [In, Out] int[] info); [DllImport("mkl", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true, SetLastError = false)] internal static extern i...

Страницы

Подписаться на Форумы

Choose a topic:

  • Can I redistribute the Intel Math Kernel Library with my application?
  • Yes. When you purchase Intel MKL, you receive rights to redistribute computational portions of Intel MKL with your application. The evaluation versions of Intel MKL do not include redistribution rights. The list of files that can be redistributed is provided in redist.txt included in the Intel MKL distribution with product license.

  • Are there royalty fees for using Intel MKL?
  • No. There is no per copy royalty fee. Check the Intel MKL end user license agreement (EULA) for more details.

  • What files am I allowed to redistribute?
  • In general, the redistributable files include the linkable files (.DLL and .LIB files for Windows*, .SO and .A files for Linux*). With your purchase of Intel MKL (and updates through the support service subscription), you receive the redist.txt file which outlines the list of files that can be redistributed. The evaluation versions of Intel MKL do not include redistribution rights. See EULA for all terms.

  • Is there a limit to the number of copies of my application that I can ship which include Intel MKL redistributables?
  • You may redistribute an unlimited number of copies of the files that are found in the directories defined in the Redistributables section of the EULA.

  • How many copies of Intel MKL do I need to secure for my project team or company?
  • The number of Intel MKL copies that you need is determined by the number of developers who are writing code, compiling, and testing using Intel MKL API, For example, five developers in an organization working on building code with Intel MKL will require five Intel MKL licenses. View the EULA for complete details.

  • Do I need to get a license for each machine being used to develop and test applications using Intel MKL library?
  • The number of licenses for Intel MKL that you need are determined by the number of developers and build machines that may be in simultaneous use in your organization. These can be deployed on any number of machines on which the application is built and/or tested as long as there is only the number of licensed copies in use at any given time. For example a development team of five developers using ten machines simultaneously for development and test activities with Intel MKL, will be required to get ten licenses of Intel MKL. View the EULA for complete details.

  • Do I need to buy an Intel MKL license for each copy of our software that we sell?
  • No, there is no royalty fee for redistributing Intel MKL files with your software. By licensing Intel MKL for your developers, you have rights to distribute the Intel MKL files with your software for an unlimited number of copies. For more information, please refer to the EULA.

  • Where can I view the Intel MKL license agreement before making a decision to purchase the product?
  • The number of copies of Intel MKL that you need is determined by the number of developers who are writing code, compiling, and testing using the Intel MKL API, as well as the number of build machines involved in compiling and linking, which need the full Intel MKL development tools file set. See EULA for all terms.

Intel® Math Kernel Library 11.1

Нужно приступить к работе сейчас?

Перейдите на вкладку «Обучение» для получения руководств и ссылок, которые помогут быстро приступить к работе.

Помощь и советы

Поиск по статьям поддержки
Форумы — лучшее место для быстрого получения ответов от наших технических специалистов и ваших коллег. Можно использовать и для отчетов об ошибках.
Служба поддержки — для получения безопасной веб-поддержки специалистов посетите наш веб-сайт Intel® Premier Support. Требуется регистрация в программе поддержки Intel Premier Support.
Справка по загрузке, регистрации и лицензированию — ответы на вопросы, связанные с загрузкой, регистрацией и лицензированием.

Ресурсы

Примечания к выпуску — ознакомьтесь с примечаниями к выпуску в Интернете!
Перечень исправлений — просмотр перечня исправлений для компилятора
Документация на библиотеку Intel® Math Kernel Library 11.0 — просмотр документации через Интернет!
Документация для других программных продуктов

Популярные вопросы по поддержке

Контент не найден

Страницы

**Source: Evans Data Software Developer surveys 2011-2013

Top Features