PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Intel - Verständnisfrage AVX-512


Melbourne, FL
2018-05-04, 17:05:51
Hallo,

die neueren Xeons von Intel unterstützen ja AVX-512...nur manchmal mit einer und manchmal mit 2 Einheiten. So wie ich das verstehe sind das dann 2 Einheiten pro Kern (und nicht pro Prozessor)...aber das wird nirgends explizit erwähnt. Also wenn ich mehr Kerne nehme, habe ich dann auch mehr AVX-512 Einheiten.

Ist das richtig?

Alexander

Nakai
2018-05-04, 18:29:18
Hallo,

die neueren Xeons von Intel unterstützen ja AVX-512...nur manchmal mit einer und manchmal mit 2 Einheiten. So wie ich das verstehe sind das dann 2 Einheiten pro Kern (und nicht pro Prozessor)...aber das wird nirgends explizit erwähnt. Also wenn ich mehr Kerne nehme, habe ich dann auch mehr AVX-512 Einheiten.

Ist das richtig?

Alexander

Pro Kern.

https://en.wikichip.org/wiki/intel/microarchitectures/skylake_(client)


https://en.wikichip.org/w/images/3/32/skylake_scheduler.svg

Port 0 und Port 1 erlauben Zugriff auf die beiden AVX-Einheiten.
Für einfache Ops gibts noch Port 2.

Je nach Zählweise sind es aber auch schon 3 AVX-Einheiten pro Kern.

Locuza
2018-05-04, 19:39:39
Skylake für Server bzw. Skylake-X schafft pro Kern 2x AVX-512 Operationen.
Port 0 und Port 1 arbeiten jeweils als 256-Bit Pipe zusammen für eine AVX-512 Operation, ähnlich wie Bulldozer 2x 128-Bit Pipes für eine 256-Bit AVX Operation verwendet hat.
Es gibt an Port 5 noch eine dedizierte 512-Bit Einheit, welche Intel je nach Modell deaktiviert hat oder je nach die gar nicht vorhanden ist? Das habe ich jetzt nicht nachgeschaut.

https://en.wikichip.org/w/images/2/2b/skylake_scheduler_server.svg
https://en.wikichip.org/wiki/intel/microarchitectures/skylake_(server)

Melbourne, FL
2018-05-04, 19:40:33
Danke Euch! Das ist sehr hilfreich. Gleich noch eine Frage zum Taktverhalten unter AVX-512 hinterher:

Es gibt ja definierte Turbotakte für AVX-512 die deutlich unter den normalen Turbotakten und teilweise sogar unter den nominellen Takten der Prozessoren liegen. Z.B. das Extrembeispiel: Xeon Platinum 8180 (https://en.wikichip.org/wiki/intel/xeon_platinum/8180). Nomineller Takt 2,5GHz, AVX-512 Takt bei Last auf allen Kernen: 2,3GHz.

Wenn ich jetzt Volllast auf allen Kernen fahre, liegen dann immer die 2,3GHz an oder können da unter Umständen (z.B. TDP-Limit) noch niedrigere Takte rauskommen?

Danke nochmal!

Alexander

Edit: Ich glaube ich habe es selbst rausgefunden...auf der oben verlinkten Seite ist auch der AVX Basetakt von 1,7 GHz angegeben. Der sollte wohl immer mindestens gehalten werden.

Ganon
2018-05-04, 19:52:04
Aufgrund der Runtertaktung bei Nutzung von AVX512 ist es auch durchaus schon vorgekommen, dass der AVX512 Algorithmus langsamer ist als eine AVX2 Version.

Melbourne, FL
2018-05-04, 20:06:08
Aufgrund der Runtertaktung bei Nutzung von AVX512 ist es auch durchaus schon vorgekommen, dass der AVX512 Algorithmus langsamer ist als eine AVX2 Version.

Das ist mir bewusst aber meine Anwendung scheint wohl stark von AVX-512 zu profitieren. Versuche gerade das beste Preis-Leistungsverhältnis für alle möglichen Prozessoren herauszufinden. Komischerweise skalieren die Xeons schlechter als die EPYCs mit steigender Kernzahl...

Alexander

=Floi=
2018-05-04, 20:10:59
geschäftlich oder privat?

privat würd ich nen X nehmen und den turbo takt mit wasserkühlung anheben.


gibt es eine übersicht zu den avx einheiten? wer wie viel hat.
wieder ne typische intel sache.

Melbourne, FL
2018-05-04, 21:19:10
geschäftlich oder privat?

privat würd ich nen X nehmen und den turbo takt mit wasserkühlung anheben.


gibt es eine übersicht zu den avx einheiten? wer wie viel hat.
wieder ne typische intel sache.

Geschäftlich...so viel Geld, wie wir ausgeben wollen, hätte ich nicht ansatzweise... ;) Und ich bin dafür verantwortlich, dass es möglichst effektiv genutzt wird, weil auf dem Cluster die ganze Gruppe die nächsten Jahre rechnen wird.

Die Anwendung ist GROMACS und der Cluster soll teils/teils aus CPU und GPU Nodes bestehen. Die GPU Nodes sind super kosteneffektiv: für eine GPU Node (eine 1080Ti), die dasselbe kann wie 4 CPU Nodes mit je zwei älteren Intel 12-Kernern (also 96 Kerne, 192 Threads) verbunden über Infiniband bezahle ich weniger als 2000 Euro.

Leider skaliert GROMACS nicht sinnvoll auf mehr als eine GPU. Deswegen ein paar (SEHR viel teurere) CPU Nodes, um einzelne Simulationen aufgrund der besseren Skalierung schneller laufen zu lassen. Ziel ist es, mindestens dieselbe Performance zu erreichen wie 10 der oben genannten CPU Nodes.

Alexander