インテル® C++ コンパイラー 17.0 デベロッパー・ガイドおよびリファレンス
ガイド付き自動並列化 (GAP) 機能は、並列化を行える可能性のあるシリアルコードの部分を特定するのに役立ちます。 GAP を使用した解析を有効にすると、コンパイラーは、自動並列化とベクトル化によって効率性を向上できるコード部分をアドバイスします。
複数の方法で Microsoft® Visual Studio® IDE から解析を開始できます。
[ツール] メニュー: [Intel Compiler (インテル® コンパイラー)] > [Guided Auto Parallelism (ガイド付き自動並列化)] > [Run Analysis (解析を実行)] を選択します。
この方法で解析を起動すると、現在のプロジェクトに対して 1 回限り実行されます。 ダイアログボックスで上書きを選択しない限り、デフォルト値は [ツール] > [オプション] から取得されます。
[Diagnostics (診断)] プロパティー・ページ: [Guided Auto Parallelism Analysis (ガイド付き自動並列化の解析)] プロパティーを使用します。
特に、[プロジェクト] > [プロパティ] > [C/C++] > [Diagnostics (診断)] を選択して、[Guided Auto Parallelism Analysis (ガイド付き自動並列化の解析)] プロパティーを使用した解析を有効にします。 プロパティー・ページで解析を有効にすると Visual Studio® での通常のプロジェクト・ビルドの一部として解析を実行できます。 このモードでは、プロパティー・ページで利用可能なその他の GAP 関連設定を優先するため、[ツール] > [オプション] の GAP 関連の設定は無視されます。
コンテキスト・メニュー: 右クリックして、[Intel Compiler (インテル® コンパイラー)] > [Guided Auto Parallelism (ガイド付き自動並列化)] > [Run Analysis (解析を実行)] を選択します。
これは、[ツール] メニューの [Guided Auto Parallelism (ガイド付き自動並列化)] > [Run Analysis (解析を実行)] オプションを使用した場合と同じです。
自動並列化のアドバイスを受けるには、特定のプロパティー・ページの設定が正しいことを確認してください。 [プロジェクト] > [プロパティ] > [C/C++] > [Optimization [Intel C++] (最適化 [インテル® C++])] を選択し、[Parallelization (並列化)] を [Yes (はい)] に設定して自動並列化による最適化を有効にします。 また、最適化レベルを O2 以上に設定する必要があります。 これは、[Optimization (最適化)] プロパティー・ページで設定できます。
さまざまなガイド付き自動並列化設定を併用できます。次のシナリオを考えてみてください。
シナリオ | 結果 |
---|---|
プロパティー・ページの GAP 解析が [Enabled (有効)] に設定されている場合 |
通常のプロジェクト・ビルドが実行されるときには、常に解析がプロジェクトに対して行われます。 プロパティー・ページで指定されたその他の解析設定が使用されます。 [ツール] > [オプション] の解析設定は無視されます。 |
プロパティー・ページの GAP 解析設定が [Disabled (無効)] に設定されてる状態で、GAP の実行が [ツール] メニューから選択された場合 |
解析はこの実行でのみ行われます。この解析のデフォルト値は [ツール] > [オプション] から取得され、ダイアログボックスで上書きできます。 プロパティー・ページで指定されたオプションも使用されますが、指定された任意の解析オプションで上書きされます。 |
プロパティー・ページの GAP 解析設定が [Disabled (無効)] に設定されている状態で、GAP オプションが [ツール] > [オプション] で設定された場合 |
[ツール] メニューから明示的に解析を実行しない限り、解析は行われません。 |
右クリックで表示される [Guided Auto Parallelism (ガイド付き自動並列化)] コンテキスト・メニュー項目を使用して、次のものを解析できます。
単一ファイル: ファイルを選択して、右クリックします。
関数 (ルーチン): 関数スコープ内で右クリックします。
行範囲: 解析する 1 行または複数行を選択して、右クリックします。