Loop-level parallelism
Parallelizing compilers have for main goal loop-level parallelism but can be used for enhancing ILP
- DO-all (all instances of the loop can be executed in parallel; no dependences): good for loop unrolling
- DO-sequential (iteration i has to finish before iteration i + 1 can start): not good for anything!
- DO-across (part of iteration i has to finish before iteration i + 1 can start): can apply software pipelining methods
Detailed analysis outside the scope of this course