c't 13/2019
S. 120
Praxis
Softwareanalyse

Ins Programm geschaut

Beliebige Software auf Intel-CPUs analysieren

Welche Anwendungen machen von modernen Prozessorfunktionen und mehreren CPU-Kernen überhaupt Gebrauch? Mit dem Entwicklertool VTune Amplifier können Sie das auch ohne Programmierkenntnisse leicht selbst prüfen.

Gängige Prozessoren wie AMD Ryzen und Intel Core i erreichen ihre maximale Rechenleistung nur, wenn die Software die Vektoreinheiten der CPU-Kerne benutzt. Um diese anzusprechen, haben die CPU-Hersteller den x86-Befehlssatz um die Advanced Vector Extension (AVX) erweitert. Diese Weiterentwicklung der 128 Bit breiten SSE-Befehle (Streaming SIMD Extensions) beschleunigt die Verarbeitung großer Datenmengen wie das Rendering von 3D-Szenen, wissenschaftliche Berechnungen wie die Suche nach Primzahlen oder das Videokodieren.

Skylake-Mikroarchitektur

Intel rüstet seine Prozessoren seit der zweiten Core-i-Generation „Sandy Bridge“ mit AVX-Einheiten aus. AMD folgte noch im gleichen Jahr 2011 mit den FX-Prozessoren „Bulldozer“. Diese und alle nachfolgenden CPUs können 256 Bit breite Befehle in einem Taktzyklus ausführen. Mit Intel Core i-4000 (Haswell) und AMD A-9000 (Carrizo) folgte einige Jahre später AVX2. Die Datenbreite ist dabei unverändert geblieben, zusätzlich zu Gleitkommaoperationen sind nun auch die meisten Integer-Instruktionen 256-bittig und es wurden FMA-Operationen (Fused multiply-add) eingeführt.