Intel® Math Kernel Library (Intel® MKL) helps you achieve maximum performance with a math computing library of highly optimized, extensively threaded routines. The library has C and Fortran interfaces for most routines. You can also find comprehensive support for several math operations including:

  • Linear algebra
  • Fast Fourier transforms (FFT)
  • Vector math
  • Direct and iterative sparse solvers
  • Random number generators

Prerequisites

System Requirements

Step 1: Install Intel MKL

  • From an application suite:

    Intel MKL installs as a part of these suites:

  • From a repository:

    Download Intel MKL from one of these repositories.

  • As a standalone package:

    Intel MKL is also provided as a standalone package under the Community Licensing Program.

Step 2: Select a function/routine

Select a function or routine from the Intel MKL library that is best suited for your problem. Use these resources:

Intel® MKL Developer Guide

The Developer Guide contains detailed information on several topics including:

  • Compiling and linking applications
  • Building custom DLLs
  • Threading
  • Memory management

Intel® MKL Developer Reference - C Language

Intel® MKL Developer Reference - Fortran Language

The Developer Reference (in C and Fortran formats) contains detailed descriptions of the functions and interfaces for all library domains.

Intel Math Kernel Library Function Finding Advisor

Use the LAPACK Function Finding Advisor to explore LAPACK routines that are useful for a particular problem. For example, if you specify an operation as:

  • Routine type: Computational
  • Computational problem: orthogonal factorization
  • Matrix type: general
  • Operation: perform QR factorization
  • Additional property of the operation: factorize without pivoting

The advisor displays the descriptions of several routines that match the requested operation. You can compare the results and select an appropriate routine for the operation.

Step 3: Link your code

Use the Intel MKL Link Line Advisor to configure the link command according to your program features.

Training and Additional Documentation

Use these resources to learn more about Intel MKL:

Intel MKL Training courses

https://software.intel.com/en-us/intel-mkl-support/training

Tutorial: Using Intel® Math Kernel Library for Matrix Multiplication

Tutorial - C Language

Tutorial - Fortran Language

This tutorial demonstrates how you can use Intel MKL to multiply matrices, measure the performance of matrix multiplication, and control threading.

Intel® MKL Release Notes

The release notes contain information specific to the latest release of Intel MKL including new and changed features. The release notes include links to principal online information resources related to the release. You can also find information on:

  • What's New in the Release

  • Product Contents

  • Obtaining Technical Support

  • License Definitions

Other Intel MKL Documentation

Related documentation, such as performance data, application notes, and examples.

Intel® Math Kernel Library

The Intel MKL product page. See this page for support and online documentation.

Note

To access the documentation offline, you can download it from:

Legal Information

Intel, the Intel logo, Intel Atom, Intel Core, Intel Xeon Phi, VTune and Xeon are trademarks of Intel Corporation in the U.S. and/or other countries.

*Other names and brands may be claimed as the property of others.

Copyright 2015-2019, Intel Corporation.

This software and the related documents are Intel copyrighted materials, and your use of them is governed by the express license under which they were provided to you (License). Unless the License provides otherwise, you may not use, modify, copy, publish, distribute, disclose or transmit this software or the related documents without Intel's prior written permission.

This software and the related documents are provided as is, with no express or implied warranties, other than those that are expressly stated in the License.

Optimization Notice

Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.

Notice revision #20110804

For more complete information about compiler optimizations, see our Optimization Notice.