世界のスーパーコンピュータとそれを動かす人々


4月 22, 2015

Haswellの新命令がFEAの性能を上げる

HPCwire Japan

Tiffany Trader

インテルは最近、ダッソーシステムのSIMULIAブランドのAbaqus/Standardソフトウェアを使ったエンジニアリング・ワークロードにおけるIntel Xeon E5-2600 v3製品ファミリーのアドバンテージを示す事例を紹介している。Abaqus/Standardは汎用有限要素解析(FEA)ソフトウェアであり、個々に方程式で表わされる大規模の有限要素にオブジェクトを区分けすることで動作する。個々の方程式を解き統合することで、オブジェクト全体が数学的にモデル化されるのだ。

インテルのソフトウェア・エンジニアであるKhangniによる記事では、Abaqus/Standardは多くの解析機能が含まれており、製品資料によると「高精度なストレス解析が非常に重要となる静的および低速なダイナミック・イベントに適している。」そうだ。ガスケットのジョイントにおける密封圧力、タイヤの定常回転、もしくは複合航空機胴体の亀裂伝播などを含むソフトウェア・ベンダーにより事例が引用されている。

「単一シミュレーション内では、時間および周波数ドメインの両方でモデルを解析することができます。」Abaqus/Standardの製品ページの概要が続く。「例えば、洗練されたガスケット技巧を含む非線形エンジンカバーの取付解析から開始しようとします。取付解析の次には、カバーのストレス前の固有振動数を抽出することが可能ですし、もしくは振動を誘発するエンジンへのストレス前のカバーの周波数領域の機械的および音響的応答を調べることができるのです。」

時間積分コンポーネントでは、Abaqus/Standardソルバーは、インテル・マス・カーネル・ライブラリ(Intel MKL)に含まれるDGEMM(倍精度一般行列乗算)と呼ばれる関数を採用している。Intel MKLバージョン11アップデート5において、DGEMMはインテルのHaswellマイクロアーキテクチャで取り入れられた新しいIntel AVX2拡張を利用するように最適化されている。この最適化は多くのワークロードにハードウェア単体での向上を超える性能をもたらしている。

「Intel VTuneのような性能監視ツールを使ったAbaqusのワークロードの解析では、実行時間の40%から50%がDGEMMに使われていることを示しています。DGEMM機能をさらに解析すると、DGEMMが基本的には行列乗算であるために、積和演算をかなり多く使用していることが分かりました。」

「Intel AVX2における新命令のひとつが、3オペランドのFused Multiply-Add (FMA3)です。ハードウェアに結合した積和演算を組み込むことで、この演算の速度は大幅に改善されています。」

この事例では、Intel AVX2のメリットを取れる新しいDGEMM実装で手に入る性能向上について説明している。2つのプラットフォームが使われており、ひとつはIntel Xeon E5-2697 v3@2.6GHzで、もうひとつはIntel Xeon E5-2697 v2@2.7GHzである。オペレーティングシステムはRed Hat Enterprise Linux Server release 6.4で、アプリケーションはAbaqus/Standard benchmarks version 6.13-1だ。試験は秒で計測された。

Abaqus/Standardの4つのベンチマークが使われた: s2a、s3a、 s3b、s4b。

  • S2aは遠心荷重によるフライホイールの非線形静的解析。
  • S3はタービンインペラの固有振動数とモード形状の抽出。
  • S3aはLanczos法による固有値ソルバーのバージョンを使用して自由度(DOF)が36万。
  • S3bはLanczos法による固有値ソルバーのバージョンを使用して自由度(DOF)が110万。
  • S4はエンジンブロックにシリンダヘッドをボルト締めするのをシミュレートするベンチマーク。
  • S4bは、直接ソルバーのバージョンを使用して、自由度(DOF)が500万。

研究者らは4つのベンチマークをXeon E5-2697 v2システム、E5-2697 v3システムでAVX2を有効にして実行し、次にAVX2を無効にしてE5-2697 v3システムで実行した。

こちらが結果である:

20150402-S1-Intel-Xeon-AVX2-case-study-fig4

Intel Xeon E5-2697 v3とE5-2697 v2の比較 – ハードウェアの拡張とIntel AVX2によって、性能が1.11倍から1.39倍向上している。

20150402-S1-Intel-Xeon-AVX2-case-study-fig5

Xeon E5-2697 v3におけるAVX2有効時と無効時の比較 – Intel AVX2単体のおかげで性能が1.03倍から1.11倍向上している。

この程度の利点は予測されていたが、この研究の結果による数字がそれを肯定したことになる。全体性能の何パーセントがAVX2によって性能向上したか(最初のグラフに示されるように)見るために、3つの全ての構成での相対性能を示す3番目のグラフ(本質的には上の2つの図を重ね合わせたもの)を見ると興味が湧いてくる。

Xeon E5 v3 「Haswell」製品ファミリーに移行したこのソフトウェアのユーザがするべきことは、最新のライブラリを使っているかどうか確認することだ。

「モデル開発と解析時間を大幅に短縮することができるので、シミュレーション・ソフトウェアの性能はとても重要です。」と著者は結論している。「Abaqus/StandardはソルバーがDGEMMに依存するFEAでは有名です。Intel Xeon E5-2600 v3製品ファミリーのIntel AVX2の登場の結果として、そしてIntel AVX2のメリットを享受するIntel MKLの増強の結果として、最新のライブラリを使うというAbaqus/Standardに対するシンプルな変更で、かなりの性能向上を得ることができるのです。」