A compiler framework for mapping applications to a coarse-grained reconfigurable computer architecture

The rapid growth of silicon densities has made it feasible to deploy reconfigurable hardware as a highly parallel computing platform. However, in most cases, the application needs to be programmed in hardware description or assembly languages, whereas most application programmers are familiar with the algorithmic programming paradigm. SA-C has been proposed as an expression-oriented language designed to implicitly express data parallel operations. Morphosys is a reconfigurable system-on-chip architecture that supports a data-parallel, SIMD computational model. This paper describes a compiler framework to analyze SA-C programs, perform optimizations, and map the application onto the Morphosys architecture. The mapping process involves operation scheduling, resource allocation and binding and register allocation in the context of the Morphosys architecture. The execution times of some compiled image-processing kernels can achieve up to 42x speed-up over an 800 MHz Pentium III machine.

[1]  Walid Najjar,et al.  Compiling a High { level Language to Recon gurable Systems , 1999 .

[2]  Nader Bagherzadeh,et al.  MorphoSys : An Integrated Reconfigurable Architecture , 2000 .

[3]  Ken Kennedy,et al.  Automatic translation of FORTRAN programs to vector form , 1987, TOPL.

[4]  Bruce A. Draper,et al.  Compiling image processing applications to reconfigurable hardware , 2000, Proceedings IEEE International Conference on Application-Specific Systems, Architectures, and Processors.

[5]  Bruce A. Draper,et al.  Cameron: high level language compilation for reconfigurable systems , 1999, 1999 International Conference on Parallel Architectures and Compilation Techniques (Cat. No.PR00425).

[6]  John Wawrzynek,et al.  Instruction-Level Parallelism for Reconfigurable Computing , 1998, FPL.

[7]  Vivek Sarkar,et al.  Baring It All to Software: Raw Machines , 1997, Computer.

[8]  Guangming Lu,et al.  MorphoSys: a reconfigurable architecture for multimedia applications , 1998, Proceedings. XI Brazilian Symposium on Integrated Circuit Design (Cat. No.98EX216).

[9]  Fadi J. Kurdahi,et al.  Kernel scheduling in reconfigurable computing , 1999, DATE '99.

[10]  Fadi J. Kurdahi,et al.  Morphosys: case study of a reconfigurable computing system targeting multimedia applications , 2000, Proceedings 37th Design Automation Conference.

[11]  Carl Ebeling,et al.  Mapping applications to the RaPiD configurable architecture , 1997, Proceedings. The 5th Annual IEEE Symposium on Field-Programmable Custom Computing Machines Cat. No.97TB100186).

[12]  Seth Copen Goldstein,et al.  PipeRench: A Reconfigurable Architecture and Compiler , 2000, Computer.

[13]  Fadi J. Kurdahi,et al.  Design and Implementation of the MorphoSys Reconfigurable Computing Processor , 2000, J. VLSI Signal Process..

[14]  Robert Rinker,et al.  An automated process for compiling dataflow graphs into reconfigurable hardware , 2001, IEEE Trans. Very Large Scale Integr. Syst..

[15]  Andreas Moshovos,et al.  CHIMAERA: a high-performance architecture with a tightly-coupled reconfigurable functional unit , 2000, ISCA '00.

[16]  André DeHon,et al.  The Density Advantage of Configurable Computing , 2000, Computer.

[17]  Fadi J. Kurdahi,et al.  The MorphoSys Parallel Reconfigurable System , 1999, Euro-Par.