Vorheriger Beitrag: Angry Byrds auf der CES und großes Kino für Sandy Bridge
Sandy Bridge: Schnellere Apps dank breiteren AVX-Registern
Wer von Sandy Bridge spricht, denkt in erster Linie an die SoC-Architektur, bei der die Prozessorkerne, der Speichercontroller, die Caches und die Grafikeinheit auf demselben Die sitzen. Das ist zwar aus Entwicklersicht auch eine schöne Sache, da aufgrund der direkten Verbindungen höhere Datendurchsätze möglich sind. Aber eine wesentliche Neuerung für schnellere Software-Programme ist zweifelsohne die erneute Verbesserung der SIMD-Register, die 1993 mit dem Pentium-MMX-Prozessor eingeführt wurden. AVX löst im Grunde SSE4 ab und steht für Advanced Vector Extension, also eine verbesserte Vektorisierung von Gleitkomma- und Ganzpunktzahlen.
Der wesentliche Unterschied zwischen SSE4 und AVX ist die Registerbreite, die von 128 auf 256 Bit erhöht wurde und damit doppelt so schnelle Vektorberechnungen ermöglicht – na ja, zumindest theoretisch.
Und wie sieht das Ganze in der Praxis aus? Nun, mihilfe der AVX-Erweiterungen lassen sich bis zu vier Gleitkomma-Operanden mit doppelter Genauigkeit (64 Bit) in einem einzigen Vektor zusammenzufassen. Auf dieser Basis lassen sich mit diesem so entstandenen Vektor arithmetische und logische Operationen durchführen. Damit kann zum Beispiel die Addition zweier Vektoren [x,x,x]+[y,y,y] in einem einzigen Zyklus erledigt werden. Bei skalaren Berechnungen sind vier Taktzyklen erforderlich. Ein Nachteil haben die doppelt so breiten Register natürlich auch: die Datenpfade müssen entsprechend größer sein.
Was man mit AVX alles Schönes anstellen kann, zeigt die Intel-AVX-Seite, die ich hier mal verlinkt habe. Dazu gehören unter anderem:
- Normalisierung von 3D-Vektoren
- Inverse Transformationen von Diskreten Kosinus-Funktionen
- Implementierung eines Gauss’schen Blur-Filters
- usf.
Darüber hinaus findet man auf dieser Seite weitere Infos rund um AVX. Dazu gehört beispielsweise das brandneue Tool Intel Architecture Code Analyzer, mit dem sich bestehender Quellcode auf mögliches AVX-Optimierungspotenzial hin untersuchen lässt. Aber auch Infos zum Intel Software Development Emulator finden Sie auf der AVX-Seite. Und wem das alles zuviel Englisch ist, sollte regelmäßig auf dem Software Dev Blog vorbei schauen. Denn hier gibt es in den nächsten Wochen immer wieder Infos rund um AVX, Sandy Bridge und Co.
Keine ähnlichen Artikel.

Kommentare
Keine Kommentare vorhanden.