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

インテル® Optimized HPCG の概要

インテル® Optimized High Performance Conjugate Gradient Benchmark (インテル® Optimized HPCG) は、インテル® アドバンスト・ベクトル・エクステンション (インテル® AVX)、インテル® アドバンスト・ベクトル・エクステンション 2 (インテル® AVX2)、および インテル® アドバンスト・ベクトル・エクステンション 512 (インテル® AVX-512) 対応のインテル® Xeon® プロセッサーおよびインテル® Xeon Phi™ プロセッサー向けに最適化された HPCG ベンチマーク (http://hpcg-benchmark.org (英語)) の実装を提供します。HPCG ベンチマークは、重要なクラスター・アプリケーションの広範なセットに適したメトリックを提供することにより、TOP500 (http://www.top500.org) システムのランク付けに使用される HPL (High Performance Linpack) ベンチマークを補完することを目的としています。

HPCG ベンチマークの実装は、楕円型偏微分方程式の 3 次元 (3D) の規則的な 27 ポイント離散化に基づいています。実装は、3D ドメインを呼び出してすべての利用可能な MPI ランクの 3D 仮想プロセスグリッドをフィルします。HPCG は、前処理付き共役勾配法 (CG) を使用して中間の連立方程式を解き、三角前進解法と後退解法に必要なローカルおよび対称ガウス・ザイデル前処理ステップを取り入れています。ベンチマークが実際のアプリケーションにより適するように、合成マルチグリッド V サイクルが各前処理ステップで使用されます。HPCG は、行列乗算をローカルに実装します。実装には、近隣プロセス間の初期ハロ交換も含まれます。ベンチマークは、多くの科学的なワークロードを左右する不規則なメモリーアクセスおよび細粒度の再帰計算を示します (詳細は、http://www.sandia.gov/~maherou/docs/HPCG-Benchmark.pdf を参照してください)。

インテル® Optimized HPCG には、以下を追加するのに必要な変更を加えた HPCG v3.0 リファレンス実装のソースコードが含まれています。

これらは、インテル® AVX、インテル® AVX2、およびインテル® AVX-512 命令セット向けに最適化されています。インテル® AVX-512 命令セット向けには、インテル® Xeon® スケーラブル・プロセッサー向けのバージョンとインテル® Xeon Phi™ プロセッサー向けのバージョンがあります。このパッケージを使用して、あらゆる世代のインテル® Xeon® プロセッサー E3 ファミリー、インテル® Xeon® プロセッサー E5 ファミリー、インテル® Xeon® プロセッサー E7 ファミリー、インテル® Xeon® スケーラブル・プロセッサー、インテル® Xeon Phi™ プロセッサー・ファミリー・ベースの分散メモリー型システムのパフォーマンスを評価することができます。

インテル® MKL のインスペクター実行スパース BLAS カーネル SpMV、TRSV、および SYMGS は、インスペクター実行モデルを使用して実装されています。検査ステップは、入力行列に最適なアルゴリズムを選択して、実行ステップで高いパフォーマンスが得られるように行列を特別な内部表現に変換します。

最適化に関する注意事項

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

注意事項の改訂 #20110804