インテル® MKL 11.3 ユーザーズガイド

Intel® Optimized MP LINPACK Benchmark の概要

Intel® Optimized MP LINPACK Benchmark for Clusters (Intel® Optimized MP LINPACK Benchmark) は、テネシー大学ノックスビル校 (UTK) の Innovative Computing Laboratories (ICL) が提供しているハイパフォーマンス LINPACK (HPL) 2.1 (http://www.netlib.org/benchmark/hpl) をベースに変更、追加したものです。Intel® Optimized MP LINPACK Benchmark は、TOP500 (http://www.top500.org を参照) の実行に使用することができます。 ベンチマークを使用するには、HPL の使用法についてよく理解している必要があります。Intel® Optimized MP LINPACK Benchmark は、HPL をより便利に使用できるように、そしてパフォーマンスを向上するインテル® メッセージ・パッシング・インターフェイス (MPI) 設定を使用できるように、追加の拡張が行われています。.\benchmarks\mp_linpack ディレクトリーには、長時間の実行につながる検索時間を最小限に抑える手法が加えられています。

Intel® Optimized MP LINPACK Benchmark は、HPL コードを使用する Massively Parallel (MP) LINPACK (LINPACK の超並列対応版) ベンチマークの実装です。このベンチマークは、real*8 精度のランダムで稠密な連立線形方程式 (Ax=b) を解き、因数分解して解くためにかかった時間を測定し、時間をパフォーマンス比率に変換して結果の精度をテストします。 使用する MPI 実装の制約を満たす任意のサイズの連立方程式を解くように実装を一般化できるため、1000 を超える方程式 (N) を解くことができます。 ベンチマークは、正確な結果が得られるように、適切な乱数生成手法と完全な行ピボット演算を使用しています。

このベンチマークは、LINPACK 100 のパフォーマンスのレポートとして使用しないでください。このベンチマークと以下のものを混同しないでください。

インテルでは、標準の HPL ベンチマークよりも簡単にインテル® プロセッサー・ベースのシステムで高い LINPACK ベンチマーク結果が得られる LINPACK ベンチマークの最適化バージョンを提供しています。クラスターのベンチマークには、Intel® Optimized MP LINPACK Benchmark を使用してください。事前ビルドバイナリーを使用するには、クラスターにインテル® MPI ライブラリーをインストールする必要があります。

Intel® Optimized MP LINPACK Benchmark の事前ビルドバイナリーは、インテル® MPI ライブラリーの対称モデルでは実行できません。詳細は、記事 (https://software.intel.com/en-us/articles/using-the-intel-mpi-library-on-intel-xeon-phi-coprocessor-systems (英語)) を参照してください。

インテル® MPI ライブラリーのランタイムバージョン (無料) は、http://www.intel.com/software/products/ からダウンロードできます。

使用する事前ビルドバイナリーが不明な場合は、システムにインテル® Xeon Phi™ コプロセッサーが搭載されていない場合でも、ハイブリッド・オフロード・バイナリーで開始してください。

このパッケージには、テネシー大学ノックスビル校の Innovative Computing Laboratories (ICL) で開発されたソフトウェアが含まれていますが、これはテネシー大学や ICL が本製品を推奨あるいは販促していることを意味するわけではありません。HPL 2.1 は特定の条件の下で再配布することができますが、このパッケージはインテル® MKL の使用許諾契約書に基づきます。

インテル® MKL では、ハイブリッド・ビルドと呼ばれる新しい機能が MP LINPACK に追加されました。以前のバージョンも引き続きサポートしています。 「ハイブリッド」とは、OpenMP*/MPI を組み合わせた並列処理を活用するために追加された特別な最適化のことを指します。

ノードあたり 1 つの MPI プロセスを使用して、OpenMP* によるさらに高度な並列処理を行うには、ハイブリッド・ビルドを使用してください。一般に、ハイブリッド・ビルドはコアあたりの MPI プロセスの数が 1 未満の場合に適しています。MPI でクロスノードの並列処理を行い、コアあたり 1 つの MPI プロセスを使う場合は、非ハイブリッド・ビルドを使用してください。

特定の事前ビルド・ハイブリッド・ライブラリーに加えて、インテル® MKL では、OpenMP* の最適化を活用するインテル® MPI 用の事前ビルド・ハイブリッド・ライブラリーをいくつか提供します。

最新のインテル® Xeon® プロセッサーから 0 ~ 8 つのインテル® Xeon Phi™ コプロセッサーに計算をオフロードできるように、インテル® MKL はハイブリッド・オフロード・バイナリーを提供しています。ハイブリッド・オフロード・バイナリーには前世代のインテル® Core™ プロセッサーおよびそれ以降のプロセッサー向けの最新の最適化が含まれており、システムにインテル® Xeon Phi™ コプロセッサーが搭載されていない場合でも、このバイナリーを使用することを推奨します。ハイブリッド・オフロード・バイナリーは、混在した並列処理にシステム固有のスレッド API を使用します。

インテル® MPI 以外の MPI バージョンを使用する場合は、提供されている MP LINPACK ソースコードを使用してください。ソースコードからハイブリッド・モードで利用できる非ハイブリッド・バージョンをビルドすることもできますが、その場合、ハイブリッド・バージョンに追加される最適化の一部は含まれません。

提供されるソース・コード・メイクファイルのデフォルトは、非ハイブリッド・ビルドです。場合によっては、ハイブリッド・モードの利用が必要なことがあります。バージョンを選択できる場合、非ハイブリッド・コードのほうが高速です。非ハイブリッド・コードをハイブリッド・モードで利用するには、インテル® MKL BLAS のスレッド化バージョンを使用して、スレッドセーフな MPI とリンクし (例えば、-mt_mpi オプションでインテル® MPI ライブラリーをリンク)、MPI_init_thread() 関数を呼び出して、MPI をスレッドセーフにします。

最適化に関する注意事項

インテル® コンパイラーは、互換マイクロプロセッサー向けには、インテル製マイクロプロセッサー向けと同等レベルの最適化が行われない可能性があります。これには、インテル® ストリーミング SIMD 拡張命令 2 (インテル® SSE2)、インテル® ストリーミング SIMD 拡張命令 3 (インテル® SSE3)、ストリーミング SIMD 拡張命令 3 補足命令 (SSSE3) 命令セットに関連する最適化およびその他の最適化が含まれます。インテルでは、インテル製ではないマイクロプロセッサーに対して、最適化の提供、機能、効果を保証していません。本製品のマイクロプロセッサー固有の最適化は、インテル製マイクロプロセッサーでの使用を目的としています。インテル® マイクロアーキテクチャーに非固有の特定の最適化は、インテル製マイクロプロセッサー向けに予約されています。この注意事項の適用対象である特定の命令セットの詳細は、該当する製品のユーザー・リファレンス・ガイドを参照してください。

改訂 #20110804