MKL

De Wiki de Calcul Québec
Aller à : Navigation, rechercher
Cette page est une traduction de la page MKL et la traduction est complétée à 100 % et à jour.

Autres langues :anglais 100% • ‎français 100%

Sommaire

Description

Intel Math Kernel Library (MKL) is a proprietary solution developped by Intel. It contains many mathematic libraries highly optimized for Intel processors, including BLAS, LAPACK, ScaLAPACK and FFTW. According to Intel, a large part of the features provided by MKL are written in assembly code.

The Intel MKL is one of the recommended mathematical libraries that implement BLAS and LAPACK and is widely available on the various Calcul Québec machines.

Using MKL

MKL can be linked with most available compilers (including GCC and Intel) and is officially supported by all of Calcul Québec clusters. To use it in your application, you must first load a module. You can get the list of available modules on a given server using the command

[name@server $] module avail 2>&1 | grep -i mkl



Use case

MKL is divided in many modular libraries. Moreover, some libraries are available in many versions to fit the user's environment. Because of this variety, Intel provides a tool called Math Kernel Library Link Line Advisor to help users when choosing libraries. We strongly suggest using this tool to find the right options for compiling and linking.

In particular, the MKL is available in both a serial and a multithreaded version. The serial version carries out mathematical operations on a single CPU core while the multithreaded version can exploit the presence of more than one CPU core to speed up the performance of its calculations, if the algorithm can run in parallel. However, certain programs are not designed for such parallel execution (they are not "thread-safe"). In general the author of a given application or library will specify in the documentation if it isn't thread-safe.

MKL allows dynamic or static linking. In most cases it is best to use dynamic linking (see [1]). However, some modules from MKL (such as CDFT for FFT computation) are only available for static linking.

Examples

BLAS

MKL provides an implementation of BLAS highly optimized for high performance computing.

Note : since compiling and linking options change between versions of MKL, Intel provides a web based tool to get the right options. We recommend using it.

LAPACK

The library mkl_lapack provides an optimized implementation of LAPACK. Since LAPACK requires BLAS, the options for the former must be added to those for the latter.

Note : since compiling and linking options change between versions of MKL, Intel provides a web based tool to get the right options. We recommend using it.

Outils personnels
Espaces de noms

Variantes
Actions
Navigation
Ressources de Calcul Québec
Outils
Partager