このステップでは、結果を解析してレポートの推奨内容を実装するかどうかを決定します。
レポートは、ソースコード 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 オプションを追加して別の解析を実行し、結果を確認します。
サンプル・コードのディレクトリーで、次のコマンドを使用してソースコードをコンパイルします。
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 以上であることを確認してください。
次のステップでは、レポートの推奨内容を実装します。