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

環境変数

次の表は、インテル® Distribution for LINPACK Benchmark の実行を制御するインテル® MKL 環境変数を示します。

環境変数

説明

HPL_LARGEPAGE

インテル® Xeon® プロセッサーおよびインテル® Xeon Phi™ コプロセッサーの両方で使用するメモリーマップを定義します。

0 または 1。

  • 0 - 通常のメモリーマップ (デフォルト)。

  • 1 - 大きなページのメモリーマップ (ページマップあたり 2MB)。パフォーマンスが向上することがあります。

HPL_LOG

HPL 出力の詳細レベルを制御します。

0 から 2 までの整数。

  • 0 - ログを表示しません。

  • 1 - 1 つのルートノードのみログを出力します。ASYOUGO オプションを指定した場合と同じです。

  • 2 - 最も詳細なログを出力します。現在の列ブロックを所有するプロセッサー列の P ルートノードはすべてログを出力します。

HPL_HOST_COREHPL_HOST_NODE

使用するコアまたは不均等メモリーアクセス (NUMA) ノードを指定します。

HPL_HOST_NODE を使用するには NUMA モードが有効でなければなりません。モードが有効かどうかを確認するには、numactl –-hardware コマンドを使用します。

デフォルトの動作はコアまたは NUMA ノードの自動検出です。

0 からクラスターで最も大きなコアまたは NUMA ノードの番号までの整数のリスト。例 3 のように区切ります。

HPL_SWAPWIDTH

各スワップ操作の幅を指定します。

16 または 24。デフォルトは 24 です。

HPL_MIC_DEVICE

使用するインテル® Xeon Phi™ コプロセッサーを指定します。デフォルトでは、利用可能なインテル® Xeon Phi™ コプロセッサーがすべて使用されます。

ノードあたり複数の MPI プロセスを使うと発生するリソースのオーバーサブスクリプションを回避するには、この環境変数で各 MPI プロセスが使用するコプロセッサーを指定します。

カンマ区切りのリスト。範囲は、0 からシステムで最も大きなインテル® Xeon Phi™ コプロセッサーの番号までの整数です。

HPL_PNUMMICS

使用するインテル® Xeon Phi™ コプロセッサーの数を指定します。HPL_MIC_DEVICE 環境変数は HPL_PNUMMICS よりも優先されます。HPL_MIC_DEVICE を設定した場合、HPL_PNUMMICS は無視されます。

デフォルトの動作はコプロセッサー数の自動検出です。

0 からノードのインテル® Xeon Phi™ コプロセッサー数までの整数。値が 0 の場合、コアはすべてのインテル® Xeon Phi™ コプロセッサーを無視します。

HPL_MIC_COREHPL_MIC_NODE

インテル® Xeon Phi™ コプロセッサーに使用する CPU コアを指定します。各インテル® Xeon Phi™ コプロセッサーには専用の CPU コアが必要です。これらの変数を設定して、次の項目を指定します。

  • HPL_MIC_CORE - 特定のコア。

  • HPL_MIC_NODE - 指定した NUMA ノードのコアの 1 つ。

HPL_MIC_CORE のデフォルトは特定のコアですが、HPL_MIC_NODE のデフォルトはコプロセッサーが同じ NUMA ノードと共有するコアです。

0 からコプロセッサーの最も大きなコアまたは NUMA ノードの番号までの整数。

各コプロセッサーに対応する整数の、カンマ区切りのリストで指定できます。

HPL_MIC_NUMCORES

インテル® Xeon Phi™ コプロセッサーの使用するコア数を指定します。デフォルトでは、すべてのコプロセッサー・コアが使用され、パフォーマンスが最大になります。

1 からコプロセッサーのコア数までの整数。

HPL_MIC_SHAREMODE

インテル® Xeon Phi™ コプロセッサーを 2 つの MPI プロセスで共有するかどうかを指定します。

詳細は、例 5 を参照してください。

0 から 2 までの整数。

  • 0 - 共有しません (デフォルト)。

  • 1 - コアの下半分を MPI プロセスに使用します。

  • 2 - コアの上半分を MPI プロセスに使用します。

HPL_MIC_EXQUEUES

インテル® Xeon Phi™ コプロセッサーのキューサイズを指定します。大きな数を使用するとパフォーマンスは向上しますが、インテル® Xeon Phi™ コプロセッサーのメモリー消費量が増加します。メモリー不足エラーが発生する場合は、値を小さくしてください。

0 から 512 までの整数。デフォルトは 128 です。

インテル® MPI ライブラリーの PMI_RANK および PMI_SIZE 環境変数を使用して、インテル® Distribution for LINPACK Benchmark 環境変数を設定できます。また、シェルスクリプトを作成してプロセスを自動化できます。

環境設定の例

#

設定

インテル® Distribution for LINPACK Benchmark の動作

1

指定なし

クラスターに含まれるすべてのインテル® Xeon® プロセッサーとインテル® Xeon Phi™ コプロセッサーを使用します。

2

HPL_PNUMMICS=0

インテル® Xeon Phi™ コプロセッサーを使用しません。

3

HPL_MIC_DEVICE=0,2

HPL_HOST_CORE=1-3,8-10

インテル® Xeon Phi™ コプロセッサーの 0 および 2、インテル® Xeon® プロセッサーのコア 1、2、3、8、9、10 のみ使用します。

4

HPL_HOST_NODE=1

NUMA ノード 1 のインテル® Xeon® プロセッサーのコアのみ使用します。

5

HPL_MIC_DEVICE=0,1

HPL_MIC_SHAREMODE=0,2

インテル® Xeon Phi™ コプロセッサーの 0 および 1 のみ使用します。

  • コプロセッサー 0 では、すべてのコアを使用します。

  • コプロセッサー 1 では、コアの上半分を使用します。

    61 コアのインテル® Xeon Phi™ コプロセッサーの場合、上半分にはコア 31 から 61 が含まれます。

    この設定は、インテル® Xeon Phi™ コプロセッサーの数が奇数のときに、2 つの MPI プロセス間でインテル® Xeon Phi™ コプロセッサーを共有する場合に便利です。

最適化に関する注意事項

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

注意事項の改訂 #20110804