Original-URL des Artikels: https://www.golem.de/news/intel-mkl-matlab-r2020a-laeuft-auf-ryzen-drastisch-schneller-2003-147570.html    Veröffentlicht: 30.03.2020 11:10    Kurz-URL: https://glm.io/147570

Intel MKL

Matlab R2020a läuft auf Ryzen drastisch schneller

Danke einer Laufzeitroutine werden nun AVX2-Befehle erzwungen.

Nach mehreren Jahren ohne Optimierung enthält Matlab R2020a nun endlich Verbesserungen für AMDs Ryzen-Prozessoren. Die Release Notes nennen dieses Detail nicht, allerdings berichtet Computerbase mit Verweis auf Dr. Reischauer vom Max-Planck-Institut für Herz- und Lungenforschung über diese Neuerung.

Hintergrund ist, dass Matlab für numerische Berechnungen auf die Math Kernel Library setzt, eine Programmbibliothek von Intel. Die fragt seit Jahren stumpf die CPU-ID (Vendor String) ab und lässt so Optimierungen für unter anderem AMD-Prozessoren ungenutzt. In Matlab R2020a gibt es nun einem Workaround: Dieser setzt auf eine Laufzeitroutine, um zu prüfen, welche Fähigkeiten die verbaute CPU beherrscht, damit entsprechend dem Feature-Set die passenden Befehlssatzerweiterungen zur Beschleunigung herangezogen werden.

Bei den Ryzen-Modellen bedeutet dies die Nutzung von AVX2, was zu signifikanten Leistungssteigerungen führt: Die älteren Ryzen 1000/2000 erreichen je nach Art des Workloads oft bereits eine Halbierung der Rechenzeit, die neueren Ryzen 3000 mit verdoppelter Anzahl an Gleitkomma-Pipelines schaffen es, die Dauer auf ein Drittel oder ein Viertel zu reduzieren. Das zeigt auch die integrierte Benchmark-Funktion von Matlab, hier liegen nun CPUs wie der Threadripper 3970X (Test) weit vorne.

Intels Math Kernel Library wird allerdings nicht nur für numerische Berechnungen in Matlabs genutzt, sondern die Programmbibliothek findet auch in Software wie NumPy und SymPy für Python eine Verwendung. Daher mahnt Dr. Reischauer vom Max-Planck-Institut für Herz- und Lungenforschung an, dass sich gerade Open-Source-Projekte die Nutzung einer Closed-Source-Bibliothek zweimal überlegen sollten. Aktueller Stand bei Intel ist das MKL 2020 Initial Release von Dezember 2019 - mit korrekter Erkennung von Ryzen.  (ms)


Verwandte Artikel:
Engineering Kit: Kompletter Arduino-Baukasten für drei Robotermodelle   
(18.05.2018, https://glm.io/134454 )
Mehr Arbeit für GPUs: CUDA für Matlab, 3ds Max - und x86-CPUs   
(22.09.2010, https://glm.io/78144 )

© 1997–2021 Golem.de, https://www.golem.de/