Memory access parallelisation in high-level language compilation for reconfigurable adaptive computers

Control-memory-data flow graphs (CMDFGs) are a unified intermediate representation for compiling high-level languages onto reconfigurable adaptive computing systems. We present both their initial construction as well as transformations for parallel memory accesses. The impact on a number of applications is examined, also considering the effect of caches on acceleration efficiency.

[1]  Andreas Koch,et al.  High-Level-Language Compilation for Reconfigurable Computers , 2005, ReCoSoC.

[2]  Elena Moscu Panainte The Molen compiler for reconfigurable architectures , 2007 .

[3]  Bjarne Steensgaard,et al.  Points-to analysis in almost linear time , 1996, POPL '96.

[4]  Nico Kasprzyk COMRADE: ein Hochsprachen-Compiler für adaptive Computersysteme , 2005 .

[5]  Seth Copen Goldstein,et al.  Optimizing memory accesses for spatial computation , 2003, International Symposium on Code Generation and Optimization, 2003. CGO 2003..

[7]  David A. Patterson,et al.  Computer Architecture: A Quantitative Approach , 1969 .

[8]  Ken Kennedy,et al.  Improving register allocation for subscripted variables , 1990, SIGP.

[9]  Christian Lengauer,et al.  Loop Parallelization in the Polytope Model , 1993, CONCUR.

[10]  Susan Horwitz,et al.  Fast and accurate flow-insensitive points-to analysis , 1997, POPL '97.

[11]  Yanbing Li,et al.  Hardware-software co-design of embedded reconfigurable architectures , 2000, DAC.

[12]  Andreas Koch,et al.  Accelerating Speculative Execution in High-Level Synthesis with Cancel Tokens , 2008, ARC.

[13]  Mark N. Wegman,et al.  Efficiently computing static single assignment form and the control dependence graph , 1991, TOPL.

[14]  Mihai Budiu,et al.  Spatial Computation — Summary of the Ph , 2003 .

[15]  Andreas Koch,et al.  Memory Access Schemes for Configurable Processors , 2000, FPL.

[16]  Ken Kennedy,et al.  Improving register allocation for subscripted variables , 1990, PLDI '90.

[17]  Joe D. Warren,et al.  The program dependence graph and its use in optimization , 1987, TOPL.

[18]  John Wawrzynek,et al.  The Garp Architecture and C Compiler , 2000, Computer.

[19]  William Pugh,et al.  The Omega test: A fast and practical integer programming algorithm for dependence analysis , 1991, Proceedings of the 1991 ACM/IEEE Conference on Supercomputing (Supercomputing '91).

[20]  G. G. Stokes "J." , 1890, The New Yale Book of Quotations.

[21]  Andreas Koch,et al.  An Execution Model for Hardware/Software Compilation and its System-Level Realization , 2007, 2007 International Conference on Field Programmable Logic and Applications.