インテル® MKL 2020 デベロッパー・ガイド
インテル® 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 リファレンス実装のソースコードが含まれています。
インテル® アーキテクチャー向けの最適化
インテル® MKL にリンクする事前に構築されたベンチマーク実行ファイル
スパース三角ソルバー (TRSV)
対称ガウス・ザイデル・スムーザー (SYMGS)
インテル® MKL のインスペクター実行スパース BLAS カーネル SpMV、TRSV、および SYMGS は、インスペクター実行モデルを使用して実装されています。検査ステップは、入力行列に最適なアルゴリズムを選択して、実行ステップで高いパフォーマンスが得られるように行列を特別な内部表現に変換します。
最適化に関する注意事項 |
---|
インテル® コンパイラーでは、インテル® マイクロプロセッサーに限定されない最適化に関して、他社製マイクロプロセッサー用に同等の最適化を行えないことがあります。これには、インテル® ストリーミング SIMD 拡張命令 2、インテル® ストリーミング SIMD 拡張命令 3、インテル® ストリーミング SIMD 拡張命令 3 補足命令などの最適化が該当します。インテルは、他社製マイクロプロセッサーに関して、いかなる最適化の利用、機能、または効果も保証いたしません。本製品のマイクロプロセッサー依存の最適化は、インテル® マイクロプロセッサーでの使用を前提としています。インテル® マイクロアーキテクチャーに限定されない最適化のなかにも、インテル® マイクロプロセッサー用のものがあります。この注意事項で言及した命令セットの詳細については、該当する製品のユーザー・リファレンス・ガイドを参照してください。 注意事項の改訂 #20110804 |