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

このステップでは、結果を解析してレポートの推奨内容を実装するかどうかを決定します。

レポートは、ソースコード 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;}
  }

レポートの推奨内容は次のとおりです。

-parallel オプションを追加して別の解析を実行し、結果を確認します。

2 つ目の推奨内容は、このチュートリアルの次のステップで実装します。

サンプル・コードのディレクトリーで、次のコマンドを使用してソースコードをコンパイルします。

icpc -c -parallel -guide scalar_dep.cpp

コンパイラーの出力結果を確認します。

scalar_dep.cpp(79) リマーク #30523: (PAR) 変数 "b" に、ループ本体の
最初 (行 79) で値を代入します。これにより、ループが並列化されます。
[確認] プログラムにおいてループの各反復で変数 "b" の読み込みを行う
場合、変数はその反復以前に定義されていなければなりません。
[別の方法] "#pragma parallel private(b)" を使用してループを並列化します。
[確認] 前述の条件をすべて満たしていなければなりません。


scalar_dep.cpp(79): リマーク #30525: (PAR) "#pragma loop count min(256)" 
文をループ (行 79) の直前に挿入して、このループを並列化します。
[確認] ループの反復回数が 256 以上であることを確認してください。

出力のリマークおよび行番号は異なる場合があります。

次のステップでは、レポートの推奨内容を実装します。

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


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