loop-level parallelism

loop level parallelism

The simplest and the common way to increase the
amount of parallelism available among instructions
is to exploit parallelism among iterations of a loop.
This type of parallelism is often called loop-level
parallelism. Here is a simple example of a loop, which
adds two 1000-element arrays that is completely
parallel.


for (i=1;i<= 1000; i=i+1)
x[i] = x[i] + y[i]

Every iteration of the loop can overlap with
any other iteration although within each loop
iteration there is little or no oppurtunity for overlap.

Reference :
Instruction-Level Parallelism: Concepts and Challenges.
Computer Architecture: A Quantitative Approach, Third Edition