Veröffentlicht am

Advanced Vector Extensions (AVX): AVX-512 vs. AVX2

AVX2 wird seit geraumer Zeit von Intel für gleitkommaintensive Berechnungen, vor allem im Multimedia-, wissenschaftlichen oder Finanzbereich, verwendet. Für Nutzer vom HQPlayer oder anderen digitalen Signalverarbeitungen (DSP) ist das eine sehr wichtige Funktion. Für Intels 12. Prozessorgeneration (Alder Lake) ist nun auch das leistungsfähigere AVX512 möglich.

AVX-512 mit Windows 11 Pro

Bisher hatte AVX-512 die CPU regelmäßig auf den Basistakt gedrosselt. Siehe auch die scharfe Kritik an Intel AVX-512 aus dem Linux-Lager. Mit eigenen Experimenten stellten wir fest, dass dies beim Intel® Core™ i9-12900K Prozessor nicht mehr der Fall ist. Voraussetzung ist jedoch, dass die E-Cores deaktiviert werden. Zur grundsätzlichen Architektur siehe auch unseren Beitrag: Intels Core 12000 mit E-Cores und P-Cores und Windows 11.

HardwareLuxx berichtete von einer Effizienzsteigerung um 30%. Igor’s LAB hatte ebenfalls Tests durchgeführt: Effizienz-Geheimtipp AVX-512 auf Alder Lake – Der wieder aufgetauchte Befehlssatz im Praxistest. Wichtig ist noch zu erwähnen, dass Intel Anstrengungen unternimmt den Zugriff auf den Microcode auf BIOS Ebene zu unterbinden. Zumindest bei den msi-Motherboards, die wir verwenden, ist die Option AVX-512 Trial „auf eigenes Risiko“ weiter vorhanden.

Bei unseren Tests verwendeten wir Windows 11 Pro mit dem HQPlayer. Beim Intel® Core™ i9-12900K Prozessor deaktiverten wir die E-Cores und übertakteten die P-Cores auf 4 GHz und aktivierten Hyper-Threading. Beim ersten Test verwendeten wir Quellmaterial mit 44,1 kHz (CD-Format) und beim zweiten Test 96 kHz. Das Ergebnis war mit einer sehr guten Kernverteilung verblüffend gut. Rechenintensive Konvertierungen zu DSD256 wurden problemlos ohne Drosselung mit AVX-512 abgespielt.

44,1 kHz konvertiert zu DSD 256×48 mit dem hochpräzisen Modulator ASDM7ECv2

96kHz konvertiert zu DSD 256×48 mit dem hochpräzisen Modulator ASDM7ECv2

AVX2 mit Linux Echtzeit-Kernel HQPlayer Embedded

Anders sieht es aus, wenn statt Windows ein Echtzeit-Kernel von Linux als Betriebssystem verwendet wird. Siehe unser Beitrag Signalyst HQPlayer 4 Embedded – schlanker und audiophiler geht’s nicht. Hier hatte die Abschaltung der E-Cores einen negativen Effekt. Wir verwenden daher für dieses Betriebssystem AVX2 und schalten trotzdem einen Teil der nicht benötigten E-Cores ab. Im Beispiel unten sind von den 6 E-Cores nur 2 E-Cores (die letzten beiden Nr. 16 und 17) aktiv. Die Konvertierung auf DSD1024 gelingt mühelos und der Klang ist traumhaft.

44,1 kHz konvertiert zu DSD1024 mit dem Modulator AMSDM7 512+fs

Zusammenfassung

Mit AVX-512 kann die Effizienz bei gleitkommaintensiven Berechnungen erheblich verbessert werden. Jedoch kommt es auf das Betriebssystem an. Während Windows hier punkten konnte, war das bei Linux nicht der Fall. Es darf auch nicht vergessen werden, dass die Tests etweder synthetische Berechnungen oder einen speziellen Anwendungsfall beinhalteten. AVX-512 erfordert die Abschaltung aller E-Cores, die das Betriebssystem eigentlich bei nicht so rechenintensiven Anwendungen entlasten sollen. Es kommt daher auf den jeweiligen Nutzungszweck an.

Mit einem Echtzeit-Kernel von Linux wie HQPlayer Embedded empfehlen wir daher AVX2 mit aktivierten E-Cores zu verwenden. Wenn nicht alle E-Cores benötigt werden, können zur Eingergieeinsparung trotzdem einige deaktiviert werden.