見出し画像

インテルベンチマーク登録が無効化される

刺さる人には刺さるかと。

サーバのCPU・メモリの性能を測定するSPEC(Standard Performance Evaluation Corporation) CPUベンチマークにおいて、インテルCPUを使った登録済みの結果が2000本以上無効化されるという事件が起きました。

https://www.phoronix.com/news/oneAPI-DPC-Compiler-Cheat-SPEC

理由はインテルコンパイラが過度な(=ベンチマーク固有の)最適化したというものです。SPECのサイトに行ってみると、軒並み

SPEC has ruled that the compiler used for this result was performing a compilation
that specifically improves the performance of the 523.xalancbmk_r / 623.xalancbmk_s
benchmarks using a priori knowledge of the SPEC code and dataset to perform a
transformation that has narrow applicability.

In order to encourage optimizations that have wide applicability (see rule 1.4
https://www.spec.org/cpu2017/Docs/runrules.html#rule_1.4), SPEC will no longer
publish results using this optimization.

This result is left in the SPEC results database for historical reference.

と追記された結果が並んでいます。

対象のベンチマークはxalancbmkというXMLをパースして形式変換するものですが、このベンチは分岐命令が多くCPU泣かせでした。無効化された登録は例のSapphier Rabbit CPUを使ったもののようです。性能でなくて、コンパイラで禁断の最適化に手を出してしまったのでしょうか。

これはかなり前代未聞の話で、SPEC関係者の中でどうするか激しい議論の上で登録済み結果の無効化にいたったものと想像します。

この記事が気に入ったらサポートをしてみませんか?