Automatic extraction of coarse-grained data-flow threads from imperative programs

Feng Li, Antoniu Pop, Albert Cohen

Research output: Contribution to journalArticlepeer-review


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 languageEnglish
Article number6216345
Pages (from-to)19-31
Number of pages12
JournalIEEE Micro
Issue number4
Publication statusPublished - 2012


  • automatic parallelization
  • data-flow model
  • loop fusion
  • program dependence graph
  • sequential imperative programs
  • SSA form


Dive into the research topics of 'Automatic extraction of coarse-grained data-flow threads from imperative programs'. Together they form a unique fingerprint.

Cite this