インテル® Fortran コンパイラー 19.0 デベロッパー・ガイドおよびリファレンス
ガイド付き自動並列化 (GAP) メッセージは、最適化を向上させるためのアドバイスを提供します。
次のものに対するアドバイスが得られます。
ループの入れ子構造の自動並列化
内側ループの自動ベクトル化
データ変換
それぞれのアドバイスに従うかどうかは開発者が判断する必要があります。例えば、特定のディレクティブを適用するようにアドバイスされた場合は、そのディレクティブのセマンティクスを理解して、対象のループ (またはループの入れ子構造) に安全に適用できるかどうかを注意深く検証して判断しなければなりません。
ディレクティブを不適切に適用した場合、コンパイラーが誤ったコードを生成し、アプリケーションが正しく実行されないことがあります。
必要に応じて、コンパイラー・ドキュメントの関連するトピックを確認して十分に理解してからアドバイスに従ってください。
いったんアドバイスの内容を適用すると、コンパイラーはその個所が正しいものと仮定し、それ以降はその個所に対してチェックを行ったり、警告を出力したりしません。
一般に、ループに関連するメッセージはベクトル化/並列化についてのものです。ループの最適化についての詳細は、コンパイラー・ドキュメントの関連するトピックを参照してください。
メモリーからのデータのフェッチやメモリーへのデータのストアは最適化の向上または妨げとなります。このようなフェッチ操作/ストア操作は読み取り/書き込みとも呼ばれますが、READ および WRITE 入出力文とは異なります。READ 文 (入力) はメモリーへのストアを行うための 1 つの方法で、WRITE 文 (出力) はメモリーからフェッチを行うための 1 つの方法です。式の中の値は、式が評価される前にメモリーからフェッチ (読み取り) されなければなりません。代入文の左辺の変数はメモリーへストア (書き込み) されます。呼び出されたプロシージャーへ渡される実引数は、メモリーからフェッチしたり、メモリーへストアできます。