Matlab: Update beschleunigt AMD-Ryzen-Prozessoren automatisiert

Software-Entwickler MathWorks fragt in der Matlab-Version R2020a die CPU-ID ab, sodass AMDs Ryzen-Prozessoren mit dem CPU-Befehlssatz AVX(2) laufen.

In Pocket speichern vorlesen Druckansicht 24 Kommentare lesen
Matlab: Update beschleunigt AMD-Ryzen-Prozessoren automatisiert

(Bild: Mark Mantel / heise online)

Lesezeit: 2 Min.

Das Update R2020a für das Mathematikprogramm Matlab enthält einen Fix, der die Leistung im Zusammenspiel mit AMDs Ryzen-Prozessoren um ein Vielfaches steigert. Die Software fragt beim Start fortan die CPU-ID und die unterstützten Befehlssätze des Prozessors ab. Erkennt die Anwendung einen Ryzen-Prozessor, forciert sie die Nutzung von AVX beziehungsweise AVX2.

Bisher mussten Nutzer mit einer Ryzen-CPU die Nutzung von AVX(2) selbst mit einer Batch-Datei oder einer Systemvariablen aktivieren, ansonsten lief Matlab mit den vergleichsweise langsamen Streaming SIMD Extensions (SSE). Diesen Workaround wendet Software-Entwickler MathWorks nun automatisiert an, wie die Webseite Computerbase berichtet.

Matlab nutzt Intels Programmierbibliothek Math Kernel Library (MKL), die CPU-Abfragen lediglich bei eigenen Prozessoren vorsieht. Aktuelle Core-i-Modelle führen Matlab automatisch mit AVX2 und AVX-512 aus, um die Berechnungen zu beschleunigen. AMD bietet eine eigene Programmierbibliothek mit den betroffenen Basic Linear Algebra Subprograms (BLAS) ausschließlich für Linux-Betriebssysteme an. Die Benachteiligung der AMD-Prozessoren in Intels MKL ist seit rund 10 Jahren bekannt, kam mit der Vorstellung der Ryzen-CPUs jedoch neu hoch. Seit einer Untersuchung der US-Wettbewerbsaufsicht FTC muss Intel auf die Benachteiligung hinweisen – alles Weitere liegt in der Verantwortung der Software-Entwickler.

Andere Anwendungen wie NumPy und SymPy, die ebenfalls die Programmierbibliothek MKL einsetzen, erkennen Ryzen-Prozessoren bisher noch nicht automatisiert. Nutzer sollten deswegen weiterhin den Workaround zur Beschleunigung anwenden. (mma)