Loop dependence analysis とは

ループ依存分析は、ステートメント間の異なる関係を決定する目的でループの反復内の依存関係を見つけるために使用できるプロセスです。これらの依存関係は、異なるステートメントがメモリ位置にアクセスする順序に関連付けられます。これらの関係の分析を使用して、ループの実行を構成して、複数のプロセッサーをループの異なる部分で並列に処理できるようにすることができます。これは並列処理と呼ばれます。一般に、ループはシリアルコードとして実行されると多くの処理時間を消費する可能性があります。並列処理により、複数のプロセッサ間で処理負荷を分担させてプログラムの実行時間を短縮することができる。
複数のプロセッサをループの異なる部分で動作させるための文を編成するプロセスは、しばしば並列化と呼ばれます。並列化をどのように活用できるかを確認するためには、最初に個々のループ内の依存関係を分析する必要があります。これらの依存関係は、他のステートメントを開始する前にループ内のどのステートメントを完了する必要があるか、ループ内の他のステートメントと並行して実行できるステートメントを決定するのに役立ちます。ループで分析される2つの一般的な依存関係のカテゴリは、データの依存関係と制御の依存関係です。