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]
Math Kernel Library | |
---|---|
Basisdaten
| |
Hauptentwickler | Intel |
Entwickler | Intel |
Erscheinungsjahr | 2003 |
Aktuelle Version | MKL 19.4 (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 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 langsamer Programmcode läuft als nötig, leistungssteigernde Befehlssätze wie AVX werden nicht genutzt obwohl möglicherweise vorhanden.
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[3] 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).[4]
manipulative Verhalten gegenüber konkurrierenden Prozessoren
Im späten Herbst 2019 wurden Benchmarks von Intel PR veröffentlicht, die die Server-Prozessoren der Intel Xeon 9200-Reihe mit den der AMD Eypc 7002 "Rome" Serie vergleichen sollten. Das Team verwendete MKL, was zu sehr negativen Ergebnissen der Konkurrenz führte[5]. Dies führte zu einer Reihe von Publikationen(darunter Puget Systems RnD[6]), die das Verhalten der Library genauer beleuchteten und aufdeckten, dass wenn der CPU-Hersteller nicht als Intel angegeben wurde, der langsamste Code ausgewählt wird.
Weblinks
Einzelnachweise
- ↑ 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).
- ↑ 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).
- ↑ 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.
- ↑ Intel: Intel Math Kernel Library. In: Intel. Intel Corp., abgerufen am 25. März 2017 (englisch).
- ↑ Patrick Kennedy: Intel Performance Strategy Team Publishing Intentionally Misleading Benchmarks. In: ServeTheHome. 5. November 2019, abgerufen am 11. Dezember 2019 (amerikanisches Englisch).
- ↑ AMD Ryzen 3900X vs Intel Xeon 2175W Python numpy - MKL vs OpenBLAS. Abgerufen am 11. Dezember 2019 (englisch).