ベンチマーク情報

ホーム » HPCソリューション » ベンチマーク情報 » インテル® Xeon Phi™ プロセッサー 7200 ファミリー ベンチマーク結果

インテル® Xeon Phi™ プロセッサー 7200 ファミリー ベンチマーク結果

概要

 第2世代のインテル® Xeon Phi™ プロセッサー 7200 ファミリーがリリースされました。インテル® Xeon Phi™ プロセッサーは、1CPU最大72コアで構成されているプロセッサーです。第1世代と異なり、通常のプロセッサーと同様に直接Red Hat Enterprise Linux等のOSをブートさせることが可能です。
 クロック周波数が高く比較的少数のコアから構成されている従来のインテル® Xeon® プロセッサーとは異なり、コア数が非常に多いことが特徴です。コア数、つまり並列数が多いことで演算性能が向上する計算プログラムに対して非常に有効なプロセッサーです。
 インテル® Xeon Phi™ プロセッサー 7200 ファミリーの性能を調査するため、プロセッサー内のコアの使い方、メモリの使い方の設定により性能が変わるため、設定別にHPLプログラムのベンチマークを実施して実効性能を比較しました。

評価環境について

 以下の環境でベンチマークを実行しました。

検証プロセッサー
製品名 インテル® Xeon Phi™ 7200
コア数 64
コア周波数 1.3GHz (AVX時動作周波数1.1GHz)
リソグラフィー 14nm
単精度浮動小数点数演算性能 5324.8GFLOPS (AVX動作時5325.6GFLOPS)
倍精度浮動小数点数演算性能 2662.4GFLOPS (AVX動作時2252.8GFLOPS)
統合メモリ容量 (MCDRAM) 16GB
対応メモリ DDR4 2133MHz
最大消費電力 (TDP) 215W
検証環境
製品名 HPC3000-XKL2UQuad
ノード数 1 (全4ノードのうち1ノードを使用)
筐体タイプ ラックマウントタイプ (2U)
プロセッサー インテル® Xeon Phi™ プロセッサー 7210
(64コア, 1.3GHz, 32MB L2Cache, 16GB MCDRAM, 14nm, TDP215W) ×1
メモリ per node 96GB (16GB DDR4-2400 ECC RDIMM ×6)
HDD 1TB SATA 6Gb/s 7200RPM ×2
コンパイラ・MPI インテル® Parallel Studio XE Cluster Edition 2017 Beta
OS Red Hat Enterprise Linux 7.2 x86_64

HPLについて

 HPLはスーパーコンピュータの性能ランキング『Top 500 Supercomputer Sites』 ( https://www.top500.org/ ) で用いられているベンチマークプログラムです。連立方程式の解を求めるプログラムで、浮動小数点演算の性能をFLOPS単位、つまり1秒間に処理できる浮動小数点演算命令の数で性能を評価します。HPLでCPUの実効性能を計測し、理論性能どおりの実効性能の向上があるかを調査しました。
 使用したHPLの実装はHPLの公式サイトのものではなく、インテル® Parallel Studio XE Cluster Edition 2017 Betaに付属するHPLでベンチマークを実施しました。このHPL結果では1ノードのみでのピーク時の実効性能を記載しています。

計算結果

 結果は以下の表の通りとなりました。(単位はGFLOPS)
 コアの使い方を指示する「クラスタモード」と、メモリの使い方を指示する「メモリモード」の組み合わせとして7項目用意し、それぞれに対し、計算手段としてA. 「Offload版」、B. 「OpenMP+MPI版」、C. 「OpenMP版」、D. 「MPI版」の各プログラムを用いて計算を実施しました。
 「クラスタモード」と「メモリモード」はワークステーション・ラックマウントサーバ起動時にBIOS上で設定します。
 入力サイズとして、BIOSで設定できるメモリモードの設定が「Cacheモード」(1~5)の場合でN=60000、「Flatモード」(6,7)の場合でN=30000としています。

  BIOS設定の組み合わせ A B. C. D.
  クラスタモード メモリモード Offload OpenMP
+MPI
OpenMP MPI
1 All-to-ALL Cacheモード 1630 1238 1243 1042
2 SNC-2 Cacheモード N/A 1334 925 855
3 SNC-4 Cacheモード N/A 1205 1013 950
4 Hemisphere Cacheモード 1639 1406 1254 1013
5 Quadrant Cacheモード 1629 1253 1242 1063
6 Quadrant Flatモード 1643 548 808 549
7 Quadrant Flatモード
(numactl併用)
1640 906 853 891

 演算性能として、A. Offload版で最高値1.6TFLOPSが得られました。これは、Xeon Phi™に標準で備わっているSIMD演算セットAVX-512を使用した場合の実効的な理論性能2252.8GFLOPSと比較して71%の実行効率です。
 最新のインテル® Xeon® プロセッサー E5-2699 v4 ×2 ( http://www.hpc.co.jp/benchmark20160411.html ) の場合において1.071TFLOPSの性能があり、その1.53倍の実行性能です。そのため、インテル® Xeon Phi™ プロセッサーは従来のプロセッサーと比較して優位性があります。

考えられること

 クラスタモードについて、Xeon Phi™ プロセッサー内の全コアに区分けを設けない 1.「All-to-ALL」モードに設定した場合、いずれの計算手段でもHPL演算性能の結果は比較的良好です。ただしキャッシュおよびメモリへのアクセスの範囲がプロセッサー全体にわたり、データを取得するための処理でプロセッサー内を長距離移動の必要に迫られる可能性があり、最適ではありません。
 プロセッサー内に区切りを設けることで、メモリアクセスの範囲を限定し演算性能の向上を図る方法として、2. 「SNC-2」、3. 「SNC-4」、4. 「Hemisphere」、5. 「Quadrant」の各モードがあります。SNCはSub-NUMA Clusteringの略です。
 「SNC-2」「Hemisphere」モードはプロセッサーを2分割、「SNC-4」「Quadrant」モードはプロセッサーを4分割します。「SNC-2」「SNC-4」は厳密に分割した領域内でメモリアクセスをします。「Hemisphere」「Quadrant」は分割が緩めで、ある程度の自由度を持たせてメモリアクセスをします。
 ベンチマークの結果、演算性能の結果は、

(「Hemisphere」「Quadrant」) > (「SNC-2」「SNC-4」)

となりました。性能比は1.2倍程度です。理論上の演算性能は

「All-to-ALL」 < (「Hemisphere」「Quadrant」) < (「SNC-2」「SNC-4」)

の関係を持っていますが、結果は理論と逆となっています。
 原因として、OSおよびアプリケーションが「SNC-2」「SNC-4」モードを十分に活用できていないと考えられます。また、HPL以外の実用プログラムでの演算性能の振る舞いについても検証が必要です。

 メモリモードについて、「Cacheモード」、つまりXeon Phi™ プロセッサー内に含まれる容量16GBの高帯域幅メモリMCDRAMをキャッシュにした場合、使用メモリサイズが16GB以下ならばプロセッサー外のDDRメモリにアクセスすることがなくなります。HPLでの入力サイズをN=60000とした場合の使用メモリは容量16GBのMCDRAM内に十分収まり、高帯域幅メモリアクセスの効果があるため、次に述べる「Flatモード」と比較して演算性能が良くなっていると考えられます。
 次に「Flatモード」、つまりXeon Phi™ プロセッサー内に含まれる容量16GBの高帯域幅メモリMCDRAMをDDRメモリと同等に扱う場合、メモリ容量は16GB増加するものの帯域幅の低いDDRメモリの性能に引っ張られるため、最適化されていないプログラムでは一般的に演算性能が悪くなります。
 MCDRAMの高帯域幅を活用する方法として、2つの方法があります。
 一つは、MCDRAMだけを用いるように指示する方法です。numactlコマンドを用いて使用メモリをMCDRAMに割り当てる「Flatモード」(numactl併用)を選択することにより、最適化されていないプログラムと比較して演算性能が改善します。HPLベンチマークの場合、使用メモリは16GBのMCDRAM内に十分収まるため、numactlコマンドにより演算性能が改善しています。
 もう一つは、(1) CPUの一部と16GB MCDRAMで構成されているノードと、(2) CPUの一部とDDRメモリで構成されているノードの2つに分かれたNUMAノードとして扱い、処理の役割分担をさせることでMCDRAMを有効に活用することが可能です。高帯域幅を必要とするメモリが16GBを超える場合、hbwmallocとMemkindライブラリーを用いてプログラム中でメモリの役割を分担するよう指示をすることでMCDRAMを有効に活用することが可能です。
 また、高帯域幅を必要とするメモリが16GBよりも少ない場合、MCDRAMの一部(4GBあるいは8GB)をキャッシュとして扱い、残りのMCDRAMをDDRメモリと同等に扱う「Hybridモード」もあります。
 プログラム中のメモリの使い方によりメモリモードを適切に選択することが重要となりますが、適切な選択肢の検証が必要です。またプログラム中の使用メモリサイズが16GBを超えた場合についての最適な選択肢の検証も必要です。  計算手段の観点で見ると、演算性能はおおむね、

「Offload版」 > 「OpenMP+MPI版」 > 「OpenMP版」 >「MPI版」

の関係となっています。OpenMPとMPIを組み合わせた「OpenMP+MPI版」が、ほとんどの場合良好です。
 プログラムが動作しなかった「SNC-2」「SNC-4」を除くすべてのBIOS設定の場合でも「Offload版」の演算性能が想定とは異なり非常に良好のため、原因の検証が必要です。

 以上の速報を踏まえ、弊社では引き続きインテル® Xeon Phi™ プロセッサーの実アプリケーション性能評価を進めてまいります。

お問い合わせ

■ フォームからのお問い合わせ

お問い合わせは以下のフォームよりお願いいたします。うまく送信されない場合は、メールでお問い合わせください。

お問い合わせフォーム

■ 電話・FAXでのお問い合わせ

number

【免責事項】