インテル® Fortran コンパイラー 18.0 デベロッパー・ガイドおよびリファレンス

GAP メッセージ (診断 ID 30538)

メッセージ

関数の呼び出し (行 %d)、IF 条件 (行 %d)、早期終了 (行 %d) を含むコードブロックをループの外側に移動することで、行 %d のループを並列化できます。

アドバイス

ループを並列化するために、関数呼び出しと関連するリターンをループの中から (ループの前に持ってくるなどして) 移動します。

このようなループ中の関数とリターンは、通常ループ中のエラー条件を処理します。プログラムのセマンティクスを変更することなく、このエラーチェックをループの実行前に行える場合、コンパイラーはループを並列化してパフォーマンスを向上できる可能性があります。

確認

関数の呼び出しがループ内のどの演算にも依存していないこと、およびこのコード変更によってオリジナルのプログラムのセマンティクスが変更されないことを確認してください。