-opt-threads-per-core コンパイラー・オプションを利用したコアあたり 1-4 スレッドのスケジュール

同カテゴリーの次の記事

インテル® AES New Instructions (インテル® AES-NI)

この記事は、インテル® デベロッパー・ゾーンに掲載されている「Scheduling for 1-4 Threads Per Core Using Compiler Option -opt-threads-per-core」の日本語参考訳です。


インテル® MIC アーキテクチャー向けのコンパイラー手法

コンパイラー・オプションを利用したコアあたり 1-4 スレッドのスケジュール

このオプションは、アプリケーションで利用するコアあたりのハードウェア・スレッド数をコンパイラーに伝えるヒントまたは推奨です。このヒントを利用して、コンパイラーはより優れたコード最適化 (命令スケジューリングなど) を行います。

-opt-threads-per-core=1/2/3/4 (デフォルトは 4)

  • このオプションは、ランタイムに変更されるスレッド/コアの数には影響しません。ランタイムでスレッド/コアの数を制御するには、KMP_AFFINITY、OMP_NUM_THREADS、KMP_PLACE_THREADS などの設定を使ってください。

  • このオプションを指定してコンパイルされたコードは、(ハードウェアがサポートしている) 任意の数のスレッド/コアで適切に動作します。

このオプションは、各コアで実行されるスレッド数のヒントをコンパイラーに伝えます。この情報は、より効率良く最適化を行うため、特に命令スケジュール中に利用されます。N の値は、アプリケーションの実行時に各コアで利用されるスレッド数と同じになるように、開発者が設定します。例えば、OpenMP* でアプリケーションを並列化した場合、インテル® MIC 上でアプリケーション・コードを実行するときの OpenMP* アフィニティー設定のコアあたりのスレッド数と同じ値を設定します。

次のステップ

この記事は、「Programming and Compiling for Intel® Many Integrated Core Architecture」(英語) の一部「Scheduling for 1-4 Threads Per Core Using Compiler Option」の翻訳です。インテル® Xeon Phi™ コプロセッサー上にアプリケーションを移植し、チューニングを行うには、各リンクのトピックを参照してください。アプリケーションのパフォーマンスを最大限に引き出すために必要なステップを紹介しています。

インテル® MIC アーキテクチャー向けの高度な最適化」に戻る

コンパイラーの最適化に関する詳細は、最適化に関する注意事項を参照してください。

関連記事