The Community for Technology Leaders
RSS Icon
Issue No.04 - July-Aug. (2012 vol.32)
pp: 19-31
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
Feng Li, Antoniu Pop, Albert Cohen, "Automatic Extraction of Coarse-Grained Data-Flow Threads from Imperative Programs", IEEE Micro, vol.32, no. 4, pp. 19-31, July-Aug. 2012, doi:10.1109/MM.2012.49
1. K. Stavrou et al., "TFlux: A Portable Platform for Data-Driven Multithreading on Commodity Multicore Systems," Proc. 37th Int'l Conf. Parallel Processing (ICPP 08), IEEE CS, 2008, pp. 25-34.
2. J. Planas et al., "Hierarchical Task-Based Programming with StarSs," Int'l J. High-Performance Computing Architecture, vol. 23, no. 3, 2009, pp. 284-299.
3. A. Pop, S. Pop, and J. Sjödin, "Automatic Streamization in GCC," GCC Developer's Summit, 2009, pp. 91-104, .
4. A. Pop and A. Cohen, "A Stream-Computing Extension to OpenMP," Proc. 4th Int'l Conf. High-Performance and Embedded Architectures and Compilers (HiPEAC 11), ACM, 2011, pp. 5-14.
5. R. Giorgi, Z. Popovic, and N. Puzovic, "DTA-C: A Decoupled Multi-threaded Architecture for CMP Systems," Proc. 19th Int'l Symp. Computer Architecture and High-Performance Computing (SBAC-PAD 07), IEEE CS, 2007, pp. 263-270.
6. A. Portero, Z. Yu, and R. Giorgi, "T-Star (T*): An x86-64 ISA Extension to Support Thread Execution on Many Cores," Proc. 7th Int'l Summer School Advanced Computer Architecture and Compilation for High-Performance and Embedded Systems (HiPEAC ACACES), Academia Press, 2011, pp. 277-280.
7. R. Cytron, J. Ferrante, and V. Sarkar, "Experiences Using Control Dependence in PTRAN," Proc. 2nd Workshop Languages and Compilers for Parallel Computing, Pitman Publishing, 1990, pp. 186-212.
8. R. Cytron et al., "Efficiently Computing Static Single Assignment Form and the Control Dependence Graph," ACM Trans. Programming Languages and Systems, Oct. 1991, pp. 451-490.
9. J. Ferrante, K.J. Ottenstein, and J.D. Warren, "The Program Dependence Graph and Its Use in Optimization," ACM Trans. Programming Languages and Systems, July 1987, pp. 319-349.
10. K. Kennedy and J.R. Allen, Optimizing Compilers for Modern Architectures: A Dependence-Based Approach, Morgan Kaufmann, 2002.
11. K. Kennedy and K.S. McKinley, Typed Fusion with Applications to Parallel and Sequential Code Generation, tech. report, Computer Science Dept., Rice Univ., 1993.
6 ms
(Ver 2.0)

Marketing Automation Platform Marketing Automation Tool