Intel: Tausende SPEC-Int-Benchmarks wegen Schummelei ungültig

Intel hat seine Sapphire-Rapids-CPUs mit einer Compiler-Optimierung im SPECint-Benchmark beschleunigt. In Realanwendungen bringt diese Optimierung wenig.

In Pocket speichern vorlesen Druckansicht 53 Kommentare lesen
Sapphire-Rapids-Prozessor ohne Heatspreader

Nackter Sapphire-Rapids-Prozessor. Den SPEC-int-Benchmark absolviert er mit neuem Compiler langsamer als noch vergangenes Jahr.

(Bild: c't / csp)

Lesezeit: 2 Min.

Intel war bei den Geschwindigkeitsversprechen seiner vierten Xeon-SP-Prozessorgeneration alias Sapphire Rapids offenbar nicht ganz ehrlich. Durchschnittlich 53 Prozent mehr Leistung gab der Hersteller im Vergleich zur Vorgeneration Ice Lake an und bezog sich dabei auf Ergebnisse des Vergleichs-Benchmarks SPECint 2017.

Die SPEC-Benchmarks sind seit Jahren für Performance-Vergleiche von Serverprozessoren etabliert. Im Falle von Sapphire Rapids waren die Ergebnisse laut der Standard Performance Evaluation Corporation (SPEC) allerdings geschönt.

Zahlreiche Datenbankeinträge ziert jetzt der Hinweis, dass eine Compiler-Optimierung Vorkenntnisse ("prior knowledge") nutzt. Dieser Trick beschleunigt einen Teil-Benchmark, aber keine realen Anwendungen.

"SPEC hat entschieden, dass der für dieses Ergebnis verwendete Compiler eine Kompilierung durchgeführt hat, die speziell die Leistung der Benchmarks 523.xalancbmk_r / 623.xalancbmk_s verbessert, indem er von vornherein Kenntnisse des SPEC-Codes und -Datensatzes verwendet hat, um eine Transformation durchzuführen, die nur begrenzt anwendbar ist. […] Dieses Ergebnis bleibt als historische Referenz in der SPEC-Ergebnis-Datenbank erhalten."

Phoronix schreibt, dass mehr als 2600 Benchmark-Einträge in der Datenbank für den SPEC CPU2017 betroffen sind. Die Gesamtergebnisse würden durch die Optimierung je nach Kategorie um 4 bis 9 Prozent angehoben.

Intel verwendet den selbst geschriebenen oneAPI-DPC++/C++-Compiler. Er soll Programmcode bestmöglich für die eigenen Prozessoren übersetzen. Optimierungen sind gängig und auch unter gewissen Bedingungen erlaubt. Sie sollen aber allgemeingültig sein und nicht bloß Benchmarks schönen.

Intels oneAPI-DPC++/C++-Compiler setzt auf LLVM Clang auf und ist grundsätzlich quelloffen. Auch AMD hat mit AOCC einen eigenen Compiler, der allerdings als weniger ausgereift gilt.

Die SPECint-Optimierung war in den 2022er- und frühen 2023er-Versionen des oneAPI-DPC++/C++-Compilers enthalten. In der aktuellen Version 2023.2.3 steckt sie nicht mehr. Ergebnisse zur neuen Xeon-SP-Generation Emerald Rapids sind folglich nicht betroffen.

Vergleiche zwischen den beiden 60-Kern-Prozessoren Xeon Platinum 8490H (Sapphire Rapids) und Xeon Platinum 8580 (Emerald Rapids) zeigen daher ein Kuriosum: Das ältere Modell mit früherer Compiler-Version schloss den 523.xalancbmk_r-Test in etwa 150 Sekunden ab, der 100 bis 500 MHz schnellere Nachfolger dagegen in rund 180 Sekunden. Damit ist er circa 20 Prozent langsamer. Da sich der SPECint-2017-Benchmark aus zehn Einzeltests zusammensetzt, ist der Einfluss auf das Gesamtergebnis niedriger.

Empfohlener redaktioneller Inhalt

Mit Ihrer Zustimmmung wird hier ein externer Preisvergleich (heise Preisvergleich) geladen.

Ich bin damit einverstanden, dass mir externe Inhalte angezeigt werden. Damit können personenbezogene Daten an Drittplattformen (heise Preisvergleich) übermittelt werden. Mehr dazu in unserer Datenschutzerklärung.

(mma)