Issue No. 04 - July-Aug. (2012 vol. 32)
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/MM.2012.49
Feng Li , INRIA
Antoniu Pop , INRIA
Albert Cohen , INRIA
This article presents a general algorithm for transforming sequential imperative programs into parallel data-flow programs. The algorithm operates on a program dependence graph in static-single-assignment form, extracting task, pipeline, and data parallelism from arbitrary control flow, and coarsening its granularity using a generalized form of typed fusion. A prototype based on GNU Compiler Collection (GCC) is applied to the automatic parallelization of recursive C programs.
Instruction sets, Parallel processing, Pipeline processing, Synchronization, Radiation detectors, Sequential analysis, SSA form, Instruction sets, Parallel processing, Pipeline processing, Synchronization, Radiation detectors, Sequential analysis, sequential imperative programs, automatic parallelization, data-flow model, loop fusion, program dependence graph
A. Pop, F. Li and A. Cohen, "Automatic Extraction of Coarse-Grained Data-Flow Threads from Imperative Programs," in IEEE Micro, vol. 32, no. , pp. 19-31, 2012.