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