Publication | Open Access
Automatic Extraction of Coarse-Grained Data-Flow Threads from Imperative Programs
24
Citations
19
References
2012
Year
EngineeringCompiler TechnologyComputer ArchitectureSoftware EngineeringSoftware AnalysisData ParallelismData ScienceSequential Imperative ProgramsParallel ComputingCompilersData FlowParallelizing CompilerCompiler SupportConcurrent ProgrammingArbitrary Control FlowComputer EngineeringAutomatic ExtractionComputer ScienceOptimizing CompilerProgram AnalysisFormal MethodsParallel ProgrammingParallel Programming ModelSystem Software
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.
| Year | Citations | |
|---|---|---|
Page 1
Page 1