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

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

レポートは、ソースコード scalar_dep.f90 の次のループについて述べたものです。

do i = 1, n
   if (a(i) >= 0) then
       t = i
   end if
   if (a(i) > 0) then
       a(i) = t * (1 / (a(i) * a(i)))
   end if
end do

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

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

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

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

ifort -c -parallel -guide scalar_dep.f90

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

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


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

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

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

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


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