ガイド付き自動並列化レポートを解析する

GAP による出力結果を解析し、特定の推奨内容がソースコードに適しているかどうかを判断します。このチュートリアルのサンプルでは、GAP は scalar_dep.cpp のループに対してレポートを生成します。

for (i=0; i<n; i++) {
    if (A[i] > 0) {b=A[i]; A[i] = 1 / A[i]; }
    if (A[i] > 1) {A[i] += b;}
  }

このサンプルで GAP レポートは、自動並列化を向上するために -parallel オプションを追加するよう推奨しています (リマーク #30761)。リマーク #30515 は、if 変数 b が無条件で割り当てられれば、コンパイラーはループをベクトル化できることを示しています。

GAP レポート記録開始 
リマーク #30761: コンパイラーに自動並列化を向上させるアドバイスを生成させる場合は -parallel オプションを追加します。

scalar_dep.cpp(51): リマーク #30515: (VECT) 行 51 のループ は、次の変数への条件付き代入があるため並列化できません:

b。このループをベクトル化するには、この変数を各反復の最初で無条件に初期化します。

[確認] ループの各反復で変数の値を読み取る場合は、同じ反復でそれ以前に書き込まれた値でなければなりません。

このコンパイルセッションで出力されたアドバイス・メッセージの数: 1。
GAP レポート記録終了

 

戻る: ガイド付き自動並列化を実行する 次へ: ガイド付き自動並列化の推奨内容を実装する


このヘルプについてのフィードバックを送信

© 2010 Intel Corporation. 無断での引用、転載を禁じます。