The Basics AboutParallelizing Compilers
The primary source of parallelism in scientific and engineering applications is loops.
Compilers detect loops that have independent iterations.
The loop is independent if for different iterations expression1 is always different from expression2