Werbung
Für bestimmte Anwendungen spielen die Advanced Vector Extensions (AVX) als spezielle Erweiterung des x86-Befehlssatzes eine wichtige Rolle. Sowohl Intel als auch AMD verwenden diese bis zu 512 Bit breiten AVX-Befehlssätze. AVX-512 wird bisher offiziell nur von Intel für die Prozessoren auf Basis von Skylake-X, Xeon Phi x200 und der Xeon-Scalable-Prozessoren verwendet.
Offenbar wird AVX-512 in naher Zukunft auch für erste Consumer-Prozessoren eine Rolle spielen. So zumindest lässt es ein Intel Architecture Instruction Set Extensions and Future Features Programming Reference getauftes Dokument von Intel verlauten. Demnach werden die Cannon-Lake-Prozessoren zunächst auf gleiches Niveau wie die Skylake-SP-Modelle gebracht. Cannon Lake unterstützt nun die Befehlssätze AVX512F, AVX512CD, AVX512DQ, AVX512BW and AVX512VL. Hinzu kommen AVX512_IFMA und AVX512_VBMI die bisher einzig Cannon Lake und Ice Lake vorbehalten bleiben.
Sobald die ersten Ice-Lake-Prozessoren im kommenden Jahr erscheinen werden, werden diese auch noch die Befehlssätze AVX512_VPOPCNTDQ, AVX512_VNNI, AVX512_VBMI2, AVX512+VPCLMULQDQ und AVX512_BITALG zur Verfügung stehen. Einige davon werden bereits von den Xeon Phy Knights Mill verwendet werden.
Anwendung auch für Privatnutzer sinnvoll
Was zunächst sehr kompliziert klingt und wenig Einblick in das gibt, was die Befehlssätze eigentlich tun, kann am Ende deutliche Vorteile für den privaten Nutzer bieten. AVX-Befehlssätze beschleunigen gleitkommaintensive Berechnung, vor allem in einigen Multimedia-Anwendungen. Aber auch für bestimmte Verschlüsselungen sind solche Befehlssätze sinnvoll, da sie das Ver- und Entschlüsseln deutlich beschleunigen können.
Offen ist die Frage in wie weit Intel zwischen Consumer-Prozessoren und solchen für den professionellen Einsatz unterscheidet und dementsprechend bestimmte Befehlssätze freigibt oder eben nicht. Dies ist dann auch von der jeweiligen Anwendung abhängig. In manchen Bereichen macht es erst Sinn bestimmte Funktionen freizuschalten, wenn eine bestimmte Anzahl an Kernen vorhanden ist. Dies ist für Skylake-X mit speziellen Befehlseinheiten namens AVX-512-F für die FMA-Einheiten der Fall. Hat der Skylake-X-Prozessor mehr als zehn Kerne, sind die entsprechenden Berechnungen plötzlich doppelt so schnell, weil Intel unter eine Kernzahl von zehn eine von zwei FMA-Einheiten pro Kern deaktiviert.
AVX-512 bringt vor allem für das De- und Encoding von Videoinhalten inzwischen große Vorteile. Gleiches gilt für das Rendering. Mit Ice Lake werden solche speziellen Befehlssätze eine noch wichtigere Rolle spielen. Hier werden Deep-Learning-Anwendungen eigene Befehlssätze (AVX512_VNNI) erhalten. Zudem wird CLWB (Cache Line Write Back) dann Zugriffe auf NVMe-Laufwerke beschleunigen. Intel bietet bereits jetzt die entsprechenden Informationen ab, damit Software entsprechend angepasst werden kann.
AVX hat auch Nachteile
Die Verwendung von AVX-Befehlssätzen hat auch Nachteile. Durch die Verwendung bestimmter FMA-Einheiten kann die Leistungsaufnahme des Prozessors deutlich über das normale Maß hinaus ansteigen. Daher reduzieren die Hersteller bei Verwendung der Befehlssätze den Takt teilweise recht deutlich. Allerdings macht Intel darüber offiziell meist keine Angaben und so kann es zu Überraschungen kommen, wenn eine Anwendung AVX verwendet. So reduziert Intel den Takt bei den Skylake-X-Prozessoren teilweise um bis zu 900 MHz, um noch im Rahmen der Thermal Design Power zu bleiben.
Overclocker können mit entsprechenden Benchmarks, die AVX-Befehlssätze verwenden, in Schwierigkeiten kommen. Die High-End-Prozessoren von Intel verbrauchen teilweise bereits das doppelte der TDP von 165 W, wenn die AVX-Funktionen hinzukommen.