Intel® CPU Optimized HPCG のパフォーマンスは、ホストのハードウェア構成、使用される MPI 実装を含む (ただし、これらに限定されない)、多くのシステム・パラメーターに依存します。特定のシステム構成で最適なパフォーマンスを得るには、以下のパラメーターの組み合わせを選択します。
ホストノードあたりの MPI プロセス数
MPI プロセスあたりの OpenMP* スレッド数
ローカル問題サイズ
インテル® Xeon® プロセッサー・ベースのクラスターでは、サポートされている命令セットに応じて、ベンチマークのインテル® AVX2 またはインテル® AVX512 最適化バージョンを使用します。ソケットごとに 1 つの NUMA ノードを持つ CPU (第 3 世代インテル® Xeon® スケーラブル・プロセッサーまで) の場合、SMT スレッドをスキップして、CPU ソケットごとに 1 つの MPI プロセスと物理 CPU コアごとに 1 つの OpenMP* スレッドを使用することを推奨します。第 4 世代インテル® Xeon® スケーラブル・プロセッサー以降の CPU では、各ソケット内で NUMA のような分割が行われることが多く、これらの分割に合わせてソケットごとに多くの MPI プロセスを使用するのが最適な場合があります。たとえば、インテル® Xeon® Platinum 8480+ および 9480 プロセッサーの各ソケットには、14 個の物理コアに対応する 4 つのダイがあり (9480 モデルはそのダイに HBM スタックが接続される)、ソケットごとに 4 つの MPI プロセスで最高のパフォーマンスが得られます。他のプロセッサーでは、自然な分割はありませんが、ソケットあたりのコア数が増加した場合でも、ソケットあたりの MPI プロセス数を増やして MPI プロセスあたりの OpenMP* スレッド数を減らすことで、バランスとパフォーマンスを向上させるのに有益な場合があります。システムで最高のパフォーマンスを達成するには、すべての OpenMP* スレッドでソケットごとに 1 つの MPI プロセスを実行し、ソケットごとに複数のランクを設定して、MPI プロセスごとに割り当てられた 10 ~ 36 スレッドの範囲をターゲットとする OpenMP* スレッド数を試みる価値があります。
最高のパフォーマンスを得るには、利用可能なコアを適切に使用する十分大きな (ただし大きすぎない) ローカル問題サイズを使用して、すべてのタスクが利用可能なメモリーに収まるようにします。最近の CPU では、ソケットあたりのラスト・レベル・キャッシュ (LLC) サイズが非常に大きくなっているため、現在の HPCG ベンチマーク要件に準拠するには、ローカル問題のサイズ (nx x ny x nz) を十分に大きくして、ソケット上の MPI プロセスあたりのベクトルの合計サイズ (各ベクトルは nx*ny*nz*sizeof(double) バイト) も LLC に収まらないようにする必要があります。
製品および性能に関する情報 |
---|
性能は、使用状況、構成、およびその他の要因によって異なります。詳細については、www.Intel.com/PerformanceIndex (英語) をご覧ください。 改訂 #20201201 |