インテル® MKL 2020 デベロッパー・ガイド

インテル® Optimized HPCG 入門

ベンチマークを開始するには、以下の操作を行います。

  1. クラスター・ファイル・システムでは、すべてのノードがアクセスできるディレクトリーに インテル® Optimized HPCG パッケージを展開します。パッケージに含まれている readme.txt ファイルに示されているライセンスを承諾します。

  2. ディレクトリーを hpcg/bin に変更します。

  3. システムに最も適したベンチマークの事前ビルドバージョンを使用します。または、QUICKSTART の説明にしたがって、MPI 実装向けのベンチマークのバージョンをビルドします。

  4. インテル® MKL、インテル® C/C++ コンパイラー、MPI ランタイム環境が適切に設定されていることを確認します。これは、各製品に同梱の mklvars.shcompilervars.sh、および mpivars.sh スクリプトを使用して確認できます。

  5. 選択したベンチマークのバージョンを実行します。

    • インテル® AVX 向けに最適化されたバージョンおよびインテル® AVX2 向けに最適化されたバージョンは、ソケットごとに 1 つのプロセス、コアごとに 1 つの OpenMP* スレッドを実行し、SMT スレッドをスキップしたときに最高のパフォーマンスが得られます。アフィニティー を KMP_AFFINITY=granularity=fine,compact,1,0 として設定します。例えば、ノードごとに 2 つのインテル® Xeon® プロセッサー E5-2697 v4 を搭載した 128 ノードのクラスターの場合、次のように実行します。
      #> mpiexec.hydra -n 
      256 -ppn 2 env OMP_NUM_THREADS=18 
      KMP_AFFINITY=granularity=fine,compact,1,0 
      ./bin/xhpcg_avx2 -n192
      
    • インテル® Xeon Phi™ プロセッサー向けに最適化されたバージョンは、プロセッサーごとに 4 つの MPI プロセス、各プロセッサー・コアで 2 つのスレッドを実行し、SMT を有効にした場合に最高のパフォーマンスが得られます。例えば、ノードごとに 1 つのインテル® Xeon Phi™ プロセッサー 7250 を搭載した 128 ノードのクラスターの場合、次のように実行します。
      #> mpiexec.hydra -n 
      512 -ppn 2 env OMP_NUM_THREADS=34 
      KMP_AFFINITY=granularity=fine,compact,1,0 
      ./bin/xhpcg_knl -n160

  6. ベンチマークが実行を完了したら (通常は数分かかります)、現在のディレクトリーにある YAML ファイルを調べて結果を確認します。ベンチマーク・テストを行ったシステムの性能評価は、ファイルの最後のセクションに記述されています。

    HPCG の結果は GFLOPS [GFLOP/s] 評価です。

最適化に関する注意事項

インテル® コンパイラーでは、インテル® マイクロプロセッサーに限定されない最適化に関して、他社製マイクロプロセッサー用に同等の最適化を行えないことがあります。これには、インテル® ストリーミング SIMD 拡張命令 2、インテル® ストリーミング SIMD 拡張命令 3、インテル® ストリーミング SIMD 拡張命令 3 補足命令などの最適化が該当します。インテルは、他社製マイクロプロセッサーに関して、いかなる最適化の利用、機能、または効果も保証いたしません。本製品のマイクロプロセッサー依存の最適化は、インテル® マイクロプロセッサーでの使用を前提としています。インテル® マイクロアーキテクチャーに限定されない最適化のなかにも、インテル® マイクロプロセッサー用のものがあります。この注意事項で言及した命令セットの詳細については、該当する製品のユーザー・リファレンス・ガイドを参照してください。

注意事項の改訂 #20110804