ZenのLLVM向けのスケジューラー・モデルの初版「znver1」よりも良いベンチを出すHaswell向けのモデル

先日LLVM5.0にマージされたZenのスケジューラー・モデル「znver1」

先日LLVM 5.0ブランチにZenのLLVM向けのznver1がマージされました。ZenはRyzenやRyzen Pro、EPYCなどに採用されているAMDの最新CPUコア・アーキテクチャです。これらのAMDのCPUシリーズは概ね高い評価を得ており、注目が集まっています。

LLVMはフロンド・エンドから受け取ったコードから任意のアーキテクチャに対して最適化されたバイナリを生成します。ARM ISAやx86_64 ISA、MIPS ISAなどの命令セット・アーキテクチャに対応し、最適なバイナリを生成出来る他、マシンのスケジューラーに最適化されたバイナリを生成することも出来ます。

PhoronixのMichael Larabel氏によって、Zen向けのスケジューラ・モデルであるznver1の有効性を測るベンチマークが行われました。ベンチマークはフロント・エンドとしてC/C++に対応するClangを、バックエンドのマシン・アーキテクチャとしてx86-64(ISA)、znver1(スケジューラ)、haswell(スケジューラ)を使い、以下の環境に向けてビルドして実行されています。

  • ベンチマーク環境
    • AMD Ryzen 7 1700
    • MSI B350 TOMAHAWK
    • 16GB DDR4
    • 120GB Samsung SSD 840
    • Radeon HD 7750
    • Ubuntu 17.04
    • Linux 4.12 kernel
    • LLVM Clang SVN

  • ベンチマーク・リスト
    • SciMark 2.0: FFT
    • SciMark 2.0: 密行列LU分解
    • x264(v2017-05-19): H.264 ビデオ・エンコーディング
    • 姫野ベンチマーク v3.0: 圧力ポアソン方程式(ヤコビの反復法)
    • ebizzy v0.3
    • Bullet Physics Engine v2.81: 1000コンベックス
    • Bullet Physics Engine v2.81: コンベックス・トライメッシュ
    • FLAC Audio Encoding v1.3.1: WAVからFLACへ変換
    • PostgreSQL pgbench v9.6.3: ヘビー・コンテンション
      (Scaling: Buffer Test, Mode: Read Write)
ソース

http://www.phoronix.com/scan.php?page=news_item&px=Haswell-vs-Znver1-GCC-5

Haswell向けのスケジューラ・モデルの方がスコアが高いベンチマーク

マシン・アーキテクチャとしてhaswellを選択した方がスコアが高かったベンチマークがあったようです。特にSciMark 2.0のFFTのベンチマークについては大幅に下回っています。

  • SciMark 2.0: FFT
    • znver1: 134.24 MFLOPS
    • haswell: 240.21 MFLOPS

また以下のベンチマークについてznver1はhaswellのモデルを僅かに下回っています。差は10%以下です。

  • 姫野ベンチマーク v3.0: 圧力ポアソン方程式(ヤコビの反復法)
  • ebizzy v0.3

x86-64の方がスコアが高いベンチマーク

またマシン・アーキテクチャとしてx86-64を選択した方がスコアが高かったベンチマークもあったようです。以下に示します。

  • ebizzy v0.3
  • PostgreSQL pgbench v9.6.3: ヘビー・コンテンション
    (Scaling: Buffer Test, Mode: Read Write)

最適化の余地を残すznver1

znver1はZenアーキテクチャに最適化されるスケジューラ・モデルのはずですが、多くのベンチで他の設定に敗れていることが分かります。znver1はまだ最適化の余地を残していると読めるでしょう。Michael Larabel氏はLLVM 6.0で修正されることを期待しているようです。今後LLVMにおけるZenアーキテクチャのパフォーマンスはどのように改善するのでしょうか。

関連記事

LLVM 5.0にZenのスケジューラのモデルがマージ、数%パフォーマンスが改善する見込み

控えめな実装ながら完成度が高いEPYCのFloating Pointユニット、EPYCの実力はHPCでも発揮されるか

Add a Comment

メールアドレスの入力は任意です。(公開されることはありません)