2020.01.30さて、今回から実際のアプリケーションについて検証を行っていきます。今回の実行するアプリケーションはHPLです。ご存知の方も多いと思いますが、HPLは行列演算能力を測定するベンチマークプログラムです。Top500の指標として使用されているように、純粋な計算機の演算能力を図る指標としては有用だと考えています。検証対象のハードウェアは以下の通りとなります。比較のため、Intel社製ハードウェアも用意しました。7.6前回のブログで書いた通り、今回の検証目的の1つは、EPYCにあった開発環境を調査する、というものがあります。そのため、前回の記述の通り、EPYCの開発環境として、以下のパッケージを使用して検証を行う事としました。パッケージがインストールされているのですが、新たにビルドしたものを使用します。満たしていないためです。前振りは以上として、結果(GFLops)となります。値を指定する事で、意図的にAVX2互換モードで動かした結果となります。過去の知見から、HPLの結果は最大5%程度変動する事、パフォーマンスに対するコンパイラの影響は小さい事が判明しています。そのため、コンパイラ、MPIについては、正常に動作が行われるかどうかの確認の意味合いが強い検証となります。使用した場合、AOCLを選択した場合に比べて若干性能が高い結果が得られた。EPYC環境とXeon環境を比較した場合、同一並列数の場合後者の方が高い性能が得られた。AVX512処理と、その処理に対応したMKLの影響が非常に大きく、MKLをAVX2モードで動作させた場合、EPYCとの性能差は縮まる。EPYC環境とXeon環境について、それぞれ1ノードでの性能という観点で比較した場合、前者はコア数あたりの性能の低さをコア数の多さで補う事で、後者よりも高い性能が得られた。HPLを実行してみた感想ですが、以外にもEPYC環境においてもIntel社製のMKLが高性能な結果を出しました。長年にわたりMKLを開発し続けて来たIntel社の技術力の賜物なのだと思います。AMD社が作成しているAOCLも、現時点でMKLと比較して極端に性能が低いわけではありません。自社製CPUというアドバンテージを活かした、今後の性能向上に期待したいところです。ハードウェアの観点からEPYC環境とXeon環境を比較した場合、印象に残ったのはAVX512規格対応の可否による性能の差と、前者のトータル性能の高さです。AVX512対応の可否については、結果の数値で見ると、やはり影響は大きいのだなあ、と実感しました。AVX2までしか対応できていない現時点では、AVX512が有効なケースにおいてはXeon側に明確なアドバンテージが見られます。逆に、AVX512が有効でない(AVX2までの対応で十分である)状況下では、EPYCとXeonの差はぐっと縮まります。EPYCとAVX2互換動作Xeonで、同一並列数で比較した場合、後者の方が若干性能が高いですが、これはそもそものベースクロックの違いが影響していると推測され、同一クロック当たりのコア性能はほぼ同等になっていると考えられます。科学技術計算を始めとした、現在のソース配布系アプリケーションの現状を見てみますと、AVX512向けにチューニングされていないケースが多々見受けられます。そのような場合、プログラムによってはAVX512で性能を十分に活かせない場合もありますので、コア数の多いEPYCの方が面白いケースも多いのではないかと考えます。次回はAmber18のベンチマークを報告する予定です、お楽しみに。ビッグデータという言葉もそろそろ使い古され、耳にする機会も減ってきた気がしますが、そういう分野がなくなってしまったわけではなく、そうしたサイズのデータを扱うことが当たり前になったという解釈が妥当そうです。8がリリースされました。使い勝手の面ではあまり変わりませんが、内部的に多くの更新や変更がはいっており、期待が高まるところです。軽いベンチでも行なおうという事で、HPCチャレンジベンチマークをやってみる事にしました。どこかで聞いたようなタイトルですが・・・。DockerやSingularityなどのコンテナは、インターネット回線があれば公開リポジトリにあるイメージをどんどん持ってきて、自分の環境で利用することができます。WSが求められる訳ARMで動きそうなもの、開発してねという依頼が来ました。Piでも使うのかと吃驚しましたが、そうではなく、ARM64のWSでという事でした。