一般ユーザーが製品を選ぶ際の指標として、ベンチマークテストの結果を参考にすることは多い。これは必ずしも現実のパフォーマンスを示す物ではないかも知れないが、ある種の定量的な評価においては、他の製品と比較するのに有効な場合も少なくない。そして、企業は自社製品の性能をアピールするため、第三者機関によるベンチマークテストの結果を競い、“公平なテストの結果”自社製品が優れているとアピールするのだ。
だが、そんなテストの結果を自社製品に有利なように不正に操作したとすればどうだろうか?その製品が本来の性能よりも高く評価されたとしたら?今回Intelは、数千のベンチマークでカスタム設計のコンパイラーを使用し、ベンチマークスコアを不正に水増ししたとして、その結果が無効と判定されている。
SPEC(Standard Performance Evaluation Corporation)は、人気の高い産業用テストSPEC CPU 2017の2022年および2023年バージョンでXeonプロセッサーをテストした2600以上の独自の結果を無効にした。SPECは調査の結果、Intelがカスタム設計のコンパイラを使用していたことを発見した。そのコンパイラは、”523.xalancbmk_r / 623.xalancbmk_sベンチマークの性能を特別に向上させるコンパイルを、SPECコードとデータセットの先験的知識を使用して行い、適用範囲が狭い変換を行っていた”と引用している。これらのベンチマークは、Xalan と XSLT (eXtensible Stylesheet Language Transformations) 出力を評価する。
これにより、SPEC は、SPEC 2017 実行および報告規則の第 14 規則に従い、この最適化を中止することを決定し、2600 件を超える結果を削除した:
広範な適用性を有する最適化を奨励するため(規則 1.4 https://www.spec.org/cpu2017/Docs/runrules.html#rule_1.4 を参照)、SPEC は、本 最適化を使用した結果を公表しない予定である。本結果は、過去の参照用として SPEC の結果データベースに残される。
以下に規則 14 の内容を示す:
SPEC は、最高の性能を生み出すための最適化の重要性を認識している。また、SPEC は、SPEC ベンチマークにたまたま利益をもたらす正当な最適化と、SPEC ベンチマークのみを対象とする最適化との間に、正確な線引きが困難な場合があることも認識している。
平たく言えば、SPECはIntelがベンチマーク専用にコンパイラーを最適化したことを非難しているのだ。PhoronixのMichael Larabel氏は、Intelが特別に設計したコンパイラーによって、速度が9%向上し、SPECintレートでは4%程度上昇した可能性があると見ている。
ServeTheHomeによれば、SPECの記録を何度かチェックした結果、第4世代インテルXeon Sapphire Rapidsの結果が最も影響を受けているようだという。この最適化は2022コンパイラに含まれていたが、最新の第5世代Intel Xeon Emerald Rapidsの発売時に一般的に使用された最新バージョン(2023.2.3)では、最適化が行われていなかった。
SPECは、自社のベンチマーク・データベースを振り返っている間にこれらの結果を発見し、歴史的記録のために削除はしていないが、自社のレポートでは無効としている。最新の産業用Xeonプロセッサー、第5世代Emerald Rapidsシリーズで使用されているコンパイラーの少し新しいバージョンは、性能を向上させるとされるこれらのAPIを使用していない。
AMD やIntelのような企業は、自社のプロセッサの IPC(クロックサイクルあたりの命令数)を誇示するために、SPEC の結果をよく利用する。おそらくこれは、Intelが自社のXeon CPUがAMDのEPYCより優れていることを示そうとしたのだろう。データセンターではAMDのシェアが伸び続けている。。
Intelがこの種の悪行で非難されるのは今回が初めてではない。Cinebenchバージョン11.5やPCMark 2005のような人気のあるベンチマーク・ソフトウェアでは、「GenuineIntel」CPUIDが検出されない場合、ベンチマークは完了までに時間がかかる低速のコード・パスを選択して実行するというように、「AMDを麻痺させる」機能を持つコードがIntelから提供されていたようだ。
Tom’s Hardwareは、NVIDAが3DMark 2003で自社のGPUの性能を高めるためにドライバ側の最適化を行ったとされる、より悪質な事例をいくつか指摘している。7年後の2010年、NVIDAはAMDが同等のGeForceカードに対してベンチマーク結果を高めるために異なる画質設定を使用したと非難した。モバイルチップのサプライヤーであるQualcomm、Samsung、MediaTekは、2020年にAndroidのパフォーマンス結果を捏造したとされる。
Sources
- Serve The Home: Impact of Intel Compiler Optimizations on SPEC CPU2017 Example
- Phoronix: Targeted Intel oneAPI DPC++ Compiler Optimization Rules Out 2k+ SPEC CPU Submissions
- via Tom’s Hardware: Industry group invalidates 2,600 official Intel CPU benchmarks — SPEC says the company’s compiler used unfair optimizations to boost performance
コメントを残す