Während sich viele der Briefings von AMD für die Ryzen 7000-Desktop-Serie auf Spiele und andere Workloads für Verbraucher konzentrierten, war für mich einer der aufregendsten Aspekte bei der Ryzen 7000-Serie unterstützt AMD jetzt AVX-512. Aber anstatt sich für einen 512-Bit-FPU-Datenpfad und die Möglichkeit reduzierter Taktfrequenzen und Energie-/Wärmebedenken zu entscheiden, wandten sie eine 256-Bit-„Double-Pumping“-Strategie an. Als ich den AMD Ryzen 9 7950X ins Labor bekam, war die Erforschung der Leistung des AMD Zen 4 AVX-512 einer der Bereiche, auf die ich mich am meisten gefreut habe. Von den Benchmarks, die gleich gezeigt werden, ist AMDs anfängliche AVX-512-Implementierung vielversprechend und ich freue mich umso mehr, sie auf AMD EPYC „Genoa“-Prozessoren zu finden.

AMDs Zen 4-Reihe, einschließlich der Desktop-Prozessoren der Ryzen 7000-Serie, unterstützen AVX-512 sofort. The AVX-512 extensions supported by Zen 4 as confirmed via the/proc/cpuinfo output on the Ryzen 9 7950X include: avx512f, avx512dq, avx512ifma, avx512cd, avx512bw, avx512vl, avx512_bf16, avx512vbmi, avx512_vbmi2, avx512_vnni, avx512_bitalg, and avx512_vpopcntdq. Also, ja, AVX-512 VNNI, BF16 und die anderen üblichen Verdächtigen.

Zumindest für das AMD-Motherboard, das ich mit seinem aktuellen Vorabversions-BIOS verwendet habe, gibt es keine keine Option zum Deaktivieren von AVX-512 im Motherboard-BIOS. Aber um die Auswirkungen von AVX-512 auf den Ryzen 9 7950X zu vergleichen, war es immer noch einfach genug, es unter Linux durchzuführen. Das Booten des Linux-Kernels mit”clearcpuid=304″als Kernel-Option löscht ihn, sodass die AVX-512-Unterstützung weder vom Kernel verwendet noch an/proc/cpuinfo gemeldet wird. Alle Anwendungen, die/proc/cpuinfo nach dem Vorhandensein von AVX-512 abfragen, werden wiederum feststellen, dass es nicht verfügbar ist. Aber Anwendungen, die direkt in der CPU nach AVX-512 stochern, werden es immer noch verfügbar finden. Um diese Testfälle abzudecken, habe ich eine Reihe von Benchmarks erstellt, zuerst mit aktivierten AVX-512-Erweiterungen und dann einen weiteren Durchlauf mit den Benchmarks mit ausdrücklich deaktivierter AVX-512-Unterstützung als Compiler-Flag.

Mit der Kombination von clearcpuid=304 und der Änderung der CFLAGS/CXXFLAGS, um AVX-512-Unterstützung (nicht) einzuschließen, ist es also möglich, den Unterschied zu sehen, den AVX-512 macht, ohne dass Hardware ausgetauscht oder andere Änderungen von AMD vorgenommen werden müssen Ryzen 9 7950X bei Standardgeschwindigkeiten. Von dort aus habe ich eine Vielzahl von Benchmarks für Workloads/Software durchgeführt, die AVX-512 nutzen können, während ich die Leistung, die Spitzen-CPU-Frequenz, den von RAPL gemeldeten CPU-Energieverbrauch, die Leistung pro Watt und die CPU überwachte vom k10temp-Treiber gemeldete Kerntemperatur.

Dank des clearcpuid-Tricks wird keine der AVX-512-Erweiterungen auf dem Ryzen 9 7950X angezeigt. Aber Software, die die CPU immer noch direkt anstupst, wird in der Lage sein, AVX-512 zu nutzen, also wurden die Open-Source-Software-Benchmarks auch ohne die AVX-512-Erweiterungen erstellt.

In meiner Hauptsache AMD Ryzen 9 7900X/7950X Linux Review sind Benchmarks der CPUs gegen die Ryzen 3000/5000-Serie und die Intel-Konkurrenz, wenn Sie sehen möchten, was der AVX-512 mit Zen 4 im Vergleich zu früheren Generationen und der Intel-Konkurrenz insgesamt bedeutet.

Für Das Leela Chess Zero (LC0) Schachprogramm, das neuronale Netze nutzt, führte der AVX-512-Pfad auf dem Ryzen 9 7950X zu einer 10%igen Beschleunigung im Vergleich zu ohne AVX-512 (wobei nur noch AVX/AVX2 übrig bleibt). Okay, eine Steigerung um 10 % ist nett, aber was ist mit den Auswirkungen auf den Stromverbrauch?

Während der AVX-512-Ausführung gab es keine signifikante Änderung des CPU-Energieverbrauchs. Tatsächlich waren die von RAPL gemeldeten Werte im Durchschnitt 3 Watt niedriger als ohne Verwendung von AVX-512…

Die CPU-Spitzenfrequenz und CPU-Temperatur zeigten ebenfalls keine signifikante Änderung, wenn AVX-512 unterstützt wurde wurde benutzt. Das sieht viel besser aus im Vergleich zu den Auswirkungen, als AVX-512 zum ersten Mal mit Skylake-X auf den Markt kam und es während der AVX-512-Nutzung oft zu einer erheblichen Heruntertaktung mit starken Leistungs-/Wärmeeinbußen kam.

Einer der jüngsten bemerkenswerten Anwender von AVX-512 war das Simdjson-Projekt, das zeigte, dass AVX-512 eine bessere Leistung für das JSON-Parsing bieten kann… Wie auf Intel-Seite zeigt die neueste Simdjson-Veröffentlichung, dass AVX-512 auch hier von Vorteil sein kann.

AVX-512-Nutzung auf dem Ryzen 9 7950X bedeutete 26 % bessere Leistung in einigen der JSON-Parsing-Benchmarks.

Währenddessen gab es einen ähnlichen CPU-Energieverbrauch und eine ähnliche Temperatur, wenn AVX-512 verwendet wurde.

Bisher sieht die AVX-512-Leistung mit dem AMD Ryzen 9 7950X ziemlich gut aus, selbst wenn kein 512-Bit-Datenpfad verwendet wird.

Bei einer Vielzahl anderer Workloads ist die AVX-512-Leistung an der AMD Ryzen 9 7950X sah ganz nett aus… Aber natürlich hängt von Ihrer Software ab, ob Sie AVX-512 unterstützen und ob die Unterstützung tatsächlich vorhanden ist ing in die Software kompiliert, was nicht immer der Fall ist.

Sogar für die Intel OneAPI-Software, die auf Intels AVX-512-Implementierung abgestimmt ist, waren die AVX-512-Ergebnisse auf dem Ryzen 9 7950X sehr signifikant.

p>

Intels neurale Netzwerkbibliothek oneDNN zeigte schöne Leistungssteigerungen, wenn der AVX-512-Codepfad verwendet wurde.

Während des oneDNN-Benchmarks war der erste Benchmark-Testfall, bei dem ich sah, dass die AVX-512-Ausführung führend war zu einem spürbar höheren Stromverbrauch… Etwa 20 Watt im Durchschnitt oder ein um 6 Watt höherer CPU-Spitzenverbrauch für einen Test. In einem weiteren oneDNN-Untertest führte die AVX-512-Ausführung zu einer um etwa 10 Watt höheren Leistungsaufnahme als bei Beschränkung auf AVX2.

Aber selbst bei der höheren Leistungsaufnahme während der AVX-512-Ausführung mit oneDNN, die Die CPU-Spitzenfrequenz war ähnlich wie bei der Beschränkung auf AVX2.

Mit der interaktiven Visualisierungssoftware OSPRay Studio von Intel sah der AVX-512-Build gut aus mit einer deutlich schnelleren Rendering-Leistung als ohne.

Mit OSPRay Studio gab es keinen merklichen Unterschied im Stromverbrauch.

Einige der größten AVX-512-Leistungssteigerungen für den Ryzen 9 7950X wurden mit dem Cpuminer-opt-CPU-Mining-Benchmark über verschiedene Algorithmen hinweg beobachtet.

Verschiedene KI-/Deep-Learning-Workloads von MNN über NCNN bis OpenVINO zeigten alle eine gute Leistung des AVX-512 auf Zen 4.

Für einige der OpenVINO-Inferenzaufgaben war der AVX-512 Der Stromverbrauch der aktivierten CPU war ~ 10 Watt höher als wenn AVX-512 nicht verwendet wurde, während keine Taktrate angezeigt wurde Auswirkungen.

Obwohl ich nur ein paar Tage hatte, um mir die Leistung des AVX-512 mit Zen 4 auf dem Desktop anzusehen, sahen die Ergebnisse bisher gut aus Vergleich mit Software, die AVX-512 nutzen kann.

Für eine Vielzahl unterschiedlicher Workloads wie JSON-Parsing, CPU-Mining, 3D-Rendering mit OSPRay Studio, KI-Workloads wie OpenVINO und verschiedene andere Tests bietet der AVX-512-Ausführung führte zu erheblichen Beschleunigungen gegenüber dem Rückgriff auf AVX2, dank der Problemumgehung mit clearcpuid=304 und dem Kompilieren der Open-Source-Software ohne aktivierte AVX-512-Erweiterungen (aber AVX/AVX2 belassen).

Hier ist ein Blick auf die CPU-Spitzenfrequenz über die gesamte Bandbreite der getesteten Benchmarks… Keine wirkliche Änderung im Vergleich zu ohne AVX-512, im Gegensatz zu frühen Intel AVX-512-CPUs, die bei der Ausführung von AVX-512-Anweisungen notorisch heruntertakteten.

Ebenso war der Stromverbrauch der CPU ähnlich, wenn die AVX-512-fähige Software ausgeführt wurde. Bei fast allen Tests waren die Ergebnisse von AVX2 und AVX-512 nahezu identisch. Zu den Ausnahmen gehörten die Intel oneDNN-und OpenVINO-Software, bei der die AVX-512-Nutzung zu einer Steigerung von 10 bis 20 Watt für den Ryzen 9 7950X führte, aber der Rest der Zeit tendenziell fast die gleichen Ergebnisse lieferte.

Während dieser anspruchsvollen Arbeitslasten und sogar mit dem Cooler Master wird der ML280 ziemlich warm, zumindest wie vom Linux k10temp-Treiber gemeldet. AMD hat detailliert erklärt, dass der Betrieb bei einer TJMax von 95 Grad Celsius für die Teile mit höherer Kernzahl nicht überraschend und „beabsichtigt und konstruktionsbedingt“ ist, da dies eine maximale sichere Betriebstemperatur ist und effektiv gehandhabt wird. Jedenfalls hatte der Einsatz von AVX-512 zu keiner merklichen Erhöhung der CPU-Temperatur geführt. AMD gibt typische Lasttemperaturen für die Ryzen 7000-Serie mit 70 bis 90 Grad Celsius an.

Im Durchschnitt der getesteten AVX-512-Workloads führte die Verwendung der AVX-512-Anweisungen zu einer um etwa 59 % höheren Leistung im Vergleich bei künstlicher Begrenzung des Ryzen 9 7950X auf AVX2/kein AVX512.

Von diesen Ergebnissen bin ich ziemlich beeindruckt von der AVX-512-Leistung des AMD Ryzen 9 7950X. Während man zunächst enttäuscht war, als man von ihrem „Double Pumping“-Ansatz hörte, anstatt sich für einen 512-Bit-Datenpfad zu entscheiden, sprechen diese Benchmark-Ergebnisse für sich. Für Software, die AVX-512 effektiv nutzen kann (und so kompiliert ist), gibt es eine deutliche Leistungssteigerung, ohne negative Auswirkungen in Bezug auf reduzierte CPU-Taktraten/höheren Stromverbrauch (wobei oneDNN eine der wenigen Ausnahmen ist). weit in Bezug auf die höhere Leistungsaufnahme).

AVX-512 sieht auf der Ryzen 7000-Serie gut aus und ich werde in den kommenden Wochen weitere Benchmarks durchführen. Diese AVX-512-Ergebnisse machen mich umso gespannter auf AMD EPYC „Genoa“, wo AVX-512 bei HPC/Server-Workloads viel weiter verbreitet sein kann. Vielen Dank an AMD für die Bereitstellung des Review-Kits der Ryzen 7000-Serie für die Ermöglichung dieses Linux-Benchmarks am Einführungstag.

Lesen Sie jetzt den vollständigen AMD Ryzen 9 7900X + 7950X Linux-Review für alle CPU-Benchmarks, die ich vorbereitet habe zum Starttag. Wenn Ihnen alle meine Linux-Hardwaretests in den letzten 18+ Jahren gefallen, sollten Sie erwägen, Phoronix Premium während des Herbst-Specials beizutreten. Einer der aufregendsten Aspekte für mich bei der Ryzen 7000-Serie ist, dass AMD jetzt AVX-512 unterstützt. Aber anstatt sich für einen 512-Bit-FPU-Datenpfad und die Möglichkeit reduzierter Taktfrequenzen und Energie-/Wärmebedenken zu entscheiden, wandten sie eine 256-Bit-„Double-Pumping“-Strategie an. Als ich den AMD Ryzen 9 7950X ins Labor bekam, war die Erforschung der Leistung des AMD Zen 4 AVX-512 einer der Bereiche, auf die ich mich am meisten gefreut habe. Von den Benchmarks, die gleich gezeigt werden, ist die anfängliche AVX-512-Implementierung von AMD vielversprechend und ich freue mich umso mehr, sie auf AMD EPYC „Genoa“-Prozessoren zu finden.

Categories: IT Info