Math Kernel Library

aus Wikipedia, der freien Enzyklopädie
Math Kernel Library
Basisdaten

Maintainer Intel
Erscheinungsjahr 2003
Aktuelle Version MKL 2020
(11. Dezember 2019)
Betriebssystem Unixoide, mac OS X, Microsoft Windows
Programmiersprache C, C++, Fortran
Kategorie Programmbibliothek für Mathematik
Lizenz proprietär
software.intel.com/en-us/intel-mkl

Die Intel Math Kernel Library (Intel MKL) ist eine Programmbibliothek für mathematische Berechnungen von der Firma Intel. Hauptbestandteile sind Basic Linear Algebra Subprograms (BLAS), LAPACK, ScaLAPACK, Solver für dünnbesetzte Matrizen, schnelle Fourier-Transformationen und Vektormathematik.[1]

Die Math Kernel Library wurde von Intel am 9. Mai 2003 veröffentlicht. Sie eignet sich besonders für Intel-Mikroprozessoren und Einsatz im Multithreading.[2] Nicht von Intel stammende Prozessoren werden benachteiligt, da dort weitaus langsamerer Programmcode läuft als nötig, teilweise beobachtet werden Verlangsamungen um den Faktor 3–10[3], leistungssteigernde Befehlssätze wie AVX werden nicht genutzt, obwohl möglicherweise vorhanden. Mittlerweile gibt es mehrere Workarounds, welche es erlauben, das nach CPU-Hersteller diskriminierende Verhalten der MKL zu umgehen.[4][5]

Für die Nutzung wird eine Lizenz benötigt, wobei es eine kostenlose Community-License gibt. Die Bibliothek unterstützt C, C++ und Fortran nativ und ist mit Java, C#, Python[6] und anderen Sprachen kompatibel.

Im Bereich der numerischen linearen Algebra sind BLAS und LAPACK enthalten und um performantere Berechnungen erweitert worden. Dazu zählen etwa LR-, Cholesky- und QR-Zerlegung, Eigenwertprobleme sowie die Methode der kleinsten Quadrate. Die Math Kernel Library enthält schnelle Fourier-Transformationen (FFT) für beliebig viele Dimensionen und unterschiedliche Datentypen. Ebenso wie die FFTs ist auch LAPACK als Clusterversion enthalten. Vektormathematische Funktionen sind mit einfacher und doppelter Genauigkeit implementiert sowie für komplexe und Gleitkommazahlen verfügbar. Im Bereich Statistik gibt es unter anderem Zufallszahlengeneratoren und Wahrscheinlichkeitsverteilungen. Es sind verschiedene Splines zur Interpolation enthalten. Die Math Kernel Library verfügt über Funktionen für neuronale Netze (z. B. Backpropagation).[7]

Weblinks

Einzelnachweise

  1. Indiana University: What is the Intel Math Kernel Library, and where is it installed at IU and on XSEDE? In: Indiana University. Indiana University System, 20. August 2015, abgerufen am 25. März 2017 (englisch).
  2. Richard Friedman: Intel MKL and Intel TBB Working Together for Performance. In: Inside HPC. insideHPC Media, 23. März 2017, abgerufen am 25. März 2017 (englisch).
  3. AMD Ryzen 3900X vs Intel Xeon 2175W Python numpy - MKL vs OpenBLAS. Abgerufen am 11. Dezember 2019 (englisch).
  4. How To Use MKL with AMD Ryzen and Threadripper CPU's (Effectively) for Python Numpy (And Other Applications). Abgerufen am 11. Dezember 2019 (englisch).
  5. Daniël de Kok: Intel MKL on AMD Zen. Abgerufen am 28. Oktober 2020.
  6. Alexander Neumann: Intel konfektioniert Distribution für Python-Entwickler. In: heise Developer. Heise Medien GmbH & Co. KG, 21. März 2016, abgerufen am 25. März 2017.
  7. Intel: Intel Math Kernel Library. In: Intel. Intel Corp., abgerufen am 25. März 2017 (englisch).