Automatic Extraction of Coarse-Grained Data-Flow Threads from Imperative Programs
Résumé
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.
Mots clés
data flow computing
data flow graphs
parallel programming
program compilers
program interpreters
GNU compiler collection
arbitrary control flow
automatic coarse-grained data-flow thread extraction
automatic recursive C program parallelization
data parallelism
imperative programs
parallel data-flow programs
program dependence graph
sequential imperative program transformation
task extraction
Instruction sets
Parallel processing
Pipeline processing
Radiation detectors
Sequential analysis
Synchronization
SSA form
automatic parallelization
data-flow model
loop fusion
sequential imperative programs
Domaines
Informatique et langage [cs.CL]Origine | Fichiers produits par l'(les) auteur(s) |
---|
Loading...