Using Rewriting Logic to Match Patterns of Instructions from a Compiler Intermediate Form to Coarse-Grained Processing Elements

This paper presents a new and retargetable method to identify patterns of instructions with direct support in coarse-grained processing elements (PEs). The method uses a three-address code SSA (static single assignment) representation of the kernel being mapped and rewriting logic for template matching and algebraic optimizations. This approach is able to identify sets of SSA instructions that can be mapped to different PE complexities available in coarse-grained reconfigurable computing architectures. As a proof of concept, results of the approach with a number of benchmark kernels, as far as coverage of template instructions is concerned, are included.

[1]  João M. P. Cardoso,et al.  On Pipelining Sequences of Data-Dependent Loops , 2007, J. Univers. Comput. Sci..

[2]  Majid Sarrafzadeh,et al.  Instruction generation for hybrid reconfigurable systems , 2001, IEEE/ACM International Conference on Computer Aided Design. ICCAD 2001. IEEE/ACM Digest of Technical Papers (Cat. No.01CH37281).

[3]  Rudy Lauwereins,et al.  Architecture exploration for a reconfigurable architecture template , 2005, IEEE Design & Test of Computers.

[4]  Deepak Kapur,et al.  Using an induction prover for verifying arithmetic circuits , 2000, International Journal on Software Tools for Technology Transfer.

[5]  Guy Even,et al.  An FPGA implementation of pipelined multiplicative division with IEEE Rounding , 2007 .

[6]  Tobias Nipkow,et al.  Term rewriting and all that , 1998 .

[7]  Rudy Lauwereins,et al.  DRESC: a retargetable compiler for coarse-grained reconfigurable architectures , 2002, 2002 IEEE International Conference on Field-Programmable Technology, 2002. (FPT). Proceedings..

[8]  Steven S. Muchnick,et al.  Advanced Compiler Design and Implementation , 1997 .

[9]  Scott A. Mahlke,et al.  Modulo graph embedding: mapping applications onto coarse-grained reconfigurable architectures , 2006, CASES '06.

[10]  Xiaowei Shen,et al.  Using term rewriting systems to design and verify processors , 1999, IEEE Micro.

[11]  Claude Kirchner,et al.  ELAN from a rewriting logic point of view , 2002, Theor. Comput. Sci..

[12]  João M. P. Cardoso CHIADO: compilation of high-level computationally intensive algorithms to dynamically reconfigurable computing systems , 2005, SPIE Microtechnologies.

[13]  Jürgen Becker,et al.  FELIX: using rewriting-logic for generating functionally equivalent implementations , 2005, International Conference on Field Programmable Logic and Applications, 2005..

[14]  Markus Weinhardt,et al.  PACT XPP—A Self-Reconfigurable Data Processing Architecture , 2004, The Journal of Supercomputing.

[15]  Reiner W. Hartenstein,et al.  Modeling and prototyping dynamically reconfigurable systems for efficient computation of dynamic programming methods by rewriting-logic , 2004, Proceedings. SBCCI 2004. 17th Symposium on Integrated Circuits and Systems Design (IEEE Cat. No.04TH8784).

[16]  Fadi J. Kurdahi,et al.  MorphoSys: An Integrated Reconfigurable System for Data-Parallel and Computation-Intensive Applications , 2000, IEEE Trans. Computers.

[17]  Markus Weinhardt,et al.  XPP-VC: A C Compiler with Temporal Partitioning for the PACT-XPP Architecture , 2002, FPL.

[18]  Jürgen Becker,et al.  From Equation to VHDL: Using Rewriting Logic for Automated Function Generation , 2006, 2006 International Conference on Field Programmable Logic and Applications.

[19]  Narciso Martí-Oliet,et al.  The Maude 2.0 System , 2003, RTA.

[20]  Scott Mahlke,et al.  Compiler-directed Synthesis of Multifunction Loop Accelerators , .

[21]  José Meseguer,et al.  Towards a Strategy Language for Maude , 2005, WRLA.

[22]  Reiner W. Hartenstein,et al.  A decade of reconfigurable computing: a visionary retrospective , 2001, Proceedings Design, Automation and Test in Europe. Conference and Exhibition 2001.

[23]  Reiner W. Hartenstein,et al.  KressArray Xplorer: a new CAD environment to optimize reconfigurable datapath array , 2000, ASP-DAC.

[24]  Reiner W. Hartenstein,et al.  Prototyping time- and space-efficient computations of algebraic operations over dynamically reconfigurable systems modeled by rewriting-logic , 2006, TODE.

[25]  Spyros Tragoudas,et al.  A high-performance data path for synthesizing DSP kernels , 2006, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[26]  Scott A. Mahlke,et al.  Automated custom instruction generation for domain-specific processor acceleration , 2005, IEEE Transactions on Computers.