Content deleted Content added
No edit summary |
No edit summary |
||
Line 1:
Automatic parallelization, also auto parallelization or Autoparallelization, refers to the use of a modern optimizing [[compiler]] (a parallelizing compiler) to convert sequential code into multi-threaded or vectorized (or even both) code in order to utilize multiple processors simultaneously in a [[shared-memory multiprocessor]] (SMP) machine. The goal of automatic parallelization is to relieve programers from the tedious and error-prone manual parallelization process.
The programming control structures on which auto parallelization places the most focus are [[loop]]s, because, in general, most of the execution time of a program takes place inside some form of loop. An auto parallelization compiler tries to split up a loop so that its iterations can be executed on separate processors concurrently.
== Compiler Parallelization Analysis==
The compiler usually conducts two passes of analysis before actual parallelization in order to determine the following:
* Is it safe to parallelize the loop?
|