Automatic parallelization: Difference between revisions

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?