インテル® MKL 2017 デベロッパー・ガイド
Intel® Optimized HPCG のパフォーマンスは、ホストのハードウェア構成、コプロセッサーの数と構成、使用される MPI 実装を含む (ただし、これらに限定されない)、多くのシステム・パラメーターに依存します。特定のシステム構成で最適なパフォーマンスを得るには、下記で説明しているように、以下のパラメーターの組み合わせを選択します。
ホストごとの MPI プロセスの数およびプロセスごとの OpenMPI スレッドの数
ローカル問題サイズ
実行モード (インテル® Xeon Phi™ コプロセッサーが利用可能な場合)
インテル® Xeon® プロセッサー・ベースのクラスターでは、対応している命令セットに応じてベンチマークのインテル® AVX 向けに最適化されたバージョンまたはインテル® AVX2 向けに最適化されたバージョンを使用し、CPU ソケットごとに 1 つの MPI プロセス、物理 CPU コアごとに 1 つの OpenMP* スレッドを実行して、同期マルチスレッディング (SMT) スレッドをスキップします。
インテル® Xeon Phi™ プロセッサー対応のシステムは、シンメトリック実行モードとオフロード実行モードをサポートします。オフロードモードでは、ベンチマークは MPI コミュニケーションにホストを使用し、計算をインテル® Xeon Phi™ コプロセッサーにオフロードします。シンメトリック・モードでは、パフォーマンスが向上するように、MPI ランクをインテル® Xeon® プロセッサーおよびインテル® Xeon Phi™ コプロセッサーの両方で実行します。オフロードモードは、システムごとにより少ない MPI プロセスを使用し、大規模実行を適切にスケーリングできます。ネイティブモードは、優れたバランスを得るためにノードごとにより多くの MPI プロセスが必要になるため、制限付きのスケーラビリティーになることがあります。
1 つのインテル® Xeon Phi™ プロセッサーを搭載したシステムでは、ソケットごとに 1 つの MPI プロセス、プロセッサーごとに 2 つの MPI プロセスでシンメトリック実行モードを使用します。インテル® Xeon® プロセッサーのホストでは、各プロセスはプロセッサー・コアごとに 1 つの OpenMP* スレッドを実行し、ハイパースレッドをスキップします。インテル® Xeon Phi™ コプロセッサーでは、各プロセスは (1 つのコアを除いて) コアごとに 4 つの OpenMP* スレッドを実行します。例: インテル® Xeon Phi™ コプロセッサー 7120D (61 コア) では、2 つの MPI プロセスでそれぞれ 120 の OpenMP* スレッドを実行します。
2 つ以上のインテル® Xeon Phi™ コプロセッサーを搭載したシステムでは、オフロードモードでコプロセッサーごとに 2 つの MPI プロセスを実行するのが最適です。コプロセッサーごとの OpenMP* スレッド数を各プロセッサー・コアで 4 に設定します。1 つのコアは残しておきます。例: インテル® Xeon Phi™ コプロセッサー 7120D (61 コア) では、各 MPI プロセスで 120 の OpenMP* スレッドを実行します。
インテル® Xeon Phi™ コプロセッサーのコア数は、モデルに応じて 57、60、または 61 で、各コアで 4 つのスレッドをサポートします。1 つを除くすべてのコアを使用するようにベンチマークがインテル® Xeon Phi™ コプロセッサーで実行する OpenMP* プロセスの数を設定します。1 つのコアは MPI またはオフロード・コミュニケーション用に残しておきます。例: 61 コアのコプロセッサーでは、ベンチマークで 240 のスレッドを実行します。
最高のパフォーマンスを得るには、利用可能なコアを適切に使用する十分大きな (ただし大きすぎない) 問題サイズを使用して、すべてのタスクが利用可能なメモリーに収まるようにします。
最適化に関する注意事項 |
---|
インテル® コンパイラーでは、インテル® マイクロプロセッサーに限定されない最適化に関して、他社製マイクロプロセッサー用に同等の最適化を行えないことがあります。これには、インテル® ストリーミング SIMD 拡張命令 2、インテル® ストリーミング SIMD 拡張命令 3、インテル® ストリーミング SIMD 拡張命令 3 補足命令などの最適化が該当します。インテルは、他社製マイクロプロセッサーに関して、いかなる最適化の利用、機能、または効果も保証いたしません。本製品のマイクロプロセッサー依存の最適化は、インテル® マイクロプロセッサーでの使用を前提としています。インテル® マイクロアーキテクチャーに限定されない最適化のなかにも、インテル® マイクロプロセッサー用のものがあります。この注意事項で言及した命令セットの詳細については、該当する製品のユーザー・リファレンス・ガイドを参照してください。 注意事項の改訂 #20110804 |