Archiv verlassen und diese Seite im Standarddesign anzeigen : Macht AVX pro Kern 8 MULs oder ADDs, oder 8 MADs?
Wenn ich das richtig verstehe, ermöglicht AVX mit 256-Bit großen Registern 8 32-Bit-Werte zu speichern und in einem Takt alle acht zu verrechnen. Gehört dazu auch Multiply-Add, oder benötigt das zwei Takte?
AMD-Gast
2016-12-17, 20:07:20
Fused Multiply kann in einem Schritt eine Multiplikation und eine Addition oder Subtraktion ausführen, wobei vier Register genutzt werden können. Es müssten unter AVX256types 8xfloat oder 4xdouble möglich sein. Jedenfalls laut Intels Intructionsset.
In http://www.agner.org/optimize/instruction_tables.pdf steht für Skylake und "VFMADD... (all FMA instr.)" eine Latenz von 4 Takten und ein Durchsatz von 2 pro Takt.
Ich kriegs noch immer nicht hin ...
... was ist der theoretisch maximal mögliche MAD-Durchsatz pro Core bei Single-Genauigkeit (FP32)?
... was ist der theoretisch maximal mögliche MAD-Durchsatz pro Core bei Single-Genauigkeit (FP32)?
das kommt auf den prozessor an, skylake unterstützt avx-512 (EVEX). wieso pro core? avx (256?) ich behaupte mal 8 sp mad.
https://en.wikipedia.org/wiki/AVX-512
Die Artikel kenne ich, leider werde ich nicht schlau daraus, was die theoretische MAD-Performance angeht.
Also AVX-256 = 8x32bit oder 4x64bit. Steht aber schon 2 mal da. Also um deine Frage zu beantworten, ja macht es.
https://picload.org/image/raliggla/avx256.jpg
Siehe auch: https://software.intel.com/en-us/articles/introduction-to-intel-advanced-vector-extensions
AVX-512 die doppelte Anzahl. Also theoretisch 16x32bit und 8x64bit.
Ok – das klärt noch nicht ganz, ob das Ding pro Takt ein MAD fertigbekommt. Oder ob, schon weil ein zusätzlicher Operand zu lesen ist, zwei Takte benötigt werden.
Foobar2001
2016-12-20, 01:22:50
Ja, FMA ist single cycle throughput. Ab Haswell gibt es aber zwei FMA-Einheiten, der Durchsatz ist also 16x FP32-FMA pro Cycle.
Bei den Xeons die tatsaechlich AVX-512 koennen sind es respektive 32x FP32-FMA.
vBulletin®, Copyright ©2000-2025, Jelsoft Enterprises Ltd.