#### 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