c't 22/2017
S. 136
Test
Intel gegen AMD
Aufmacherbild
Bild: MPI für Gravitationsphysik, Lemniscates bei der Verschmelzung schwarzer Löcher

Flops, Pi und Lemniscate

Intel Xeon und AMD Epyc unter SIMD-Dauerfeuer

Mit zwei Programmen, die die Vektoreinheiten von Prozessoren in besonders hohem Maße quälen, rückten wir unserer Xeon/Epyc-Flotte zu Leibe. Da konnten sich die neuen Scalable Xeons auch mal unter AVX512 austoben. Nebenbei schauen wir auf die Probleme, die Benchmarks mit intelligenten Compilern haben.

Flops und y-cruncher, so heißen die Programme, die beide von Alexander Yee (www.numberworld.org) stammen, der inzwischen als Software-Entwickler beim Finanzdienstleister Citadel arbeitet. Flops ist ein rein synthetischer Benchmark für SSE, SSE2, AVX und AVX512, während y-cruncher eine mathematische Anwendung ist, die hocheffizient mit gigantisch großen Zahlen umgehen und so π, e, √2 und ähnlich Wichtiges auf nahezu unendlich viele Stellen ausrechnen kann. Dazu braucht es dann auch „unendlich“ viel Speicher – unser aktuelles Speichermonster im Zugriff steht im Lenovo-SAP-Benchmarkzentrum, hat 8 Prozessoren und satte 24 TByte.

Flops befeuert die Prozessoren gnadenlos und ohne Pause mit SIMD-Vektorbefehlen – so gnadenlos, dass es damit vor ein paar Monaten eine Schwachstelle bei AMDs Ryzen-Prozessor aufgedeckt hat und seitdem recht populär ist. Flops gibt es bei GitHub im Quellcode, samt Visual-Studio-Projektmappe und fertig übersetzten Binärdateien für Windows und Linux, derzeit in Version 3. Will man es selbst kompilieren, etwa weil man es erweitern oder ändern will, muss man insbesondere bei den Linux-Compilern höllisch aufpassen (siehe Kasten auf S. 138).

Kommentieren

Weitere Bilder

Flops, Pi und Lemniscate (1 Bilder)

y-cruncher in Action, hier mit 1 Milliarde Stellen für die Lemniscate-Konstante/5 = 5,2441151…