Abstract
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. © 1981-2012 IEEE.
Original language | English |
---|---|
Article number | 6216345 |
Pages (from-to) | 19-31 |
Number of pages | 12 |
Journal | IEEE Micro |
Volume | 32 |
Issue number | 4 |
DOIs | |
Publication status | Published - 2012 |
Keywords
- automatic parallelization
- data-flow model
- loop fusion
- program dependence graph
- sequential imperative programs
- SSA form