Loop fission and fusion とは

コンピュータ科学では、ループ分裂(またはループ分布)は、ループが元のループのボディの一部のみを取る同じインデックス範囲で複数のループに分割されるコンパイラの最適化です。目標は、参照の局所性をより有効に活用するために、大きなループ本体を小さなものに分解することです。この最適化は、各プロセッサのタスクを複数のタスクに分割できるマルチコアプロセッサで最も効率的です。
逆に、ループフュージョン(またはループジャミング)は、複数のループを1つに置き換えるコンパイラの最適化とループ変換です。 2つのループが同じ範囲で反復し、互いのデータを参照しない場合があります。ループフュージョンは、必ずしも実行時の速度を向上させるとは限りません。いくつかのアーキテクチャでは、実際には2つのループが1つのループよりも優れているかもしれません。これは、たとえば、各ループ内にデータの局所性が増すためです。