< 目次

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

Intel® Optimized HPCG の概要

Intel® Optimized High Performance Conjugate Gradient Benchmark (Intel® Optimized HPCG) は、インテル® アドバンスト・ベクトル・エクステンション (インテル® AVX) およびインテル® アドバンスト・ベクトル・エクステンション 2 (インテル® AVX2) 対応のインテル® プロセッサーおよびインテル® 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 を参照してください)。

Intel® Optimized HPCG には、インテル® アーキテクチャー向けの最適化を追加するための必要な変更を加えた HPCG v2.4 リファレンス実装のソースコード、事前に構築されたベンチマーク実行ファイル、4 つのダイナミックなライブラリーのほかに、インテル® AVX、インテル® AVX2、インテル® Xeon Phi™ コプロセッサー向けに最適化された、スパース行列ベクトル乗算 (SpMV)、対称ガウス・ザイデル・スムーザー (SYMGS)、前処理付きガウス・ザイデル (GS) のカーネルが含まれています。このパッケージを使用して、あらゆる世代のインテル® Xeon® プロセッサー E3 ファミリー、インテル® Xeon® プロセッサー E5 ファミリー、インテル® Xeon® プロセッサー E7 ファミリー、インテル® Xeon Phi™ コプロセッサー・ファミリー・ベースの分散メモリー型システムのパフォーマンスを評価することができます。

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

最適化に関する注意事項

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

注意事項の改訂 #20110804