Loop Pipelining and Optimization for Run Time Reconfiguration

Lack of automatic mapping techniques is a significant hurdle in obtaining high performance for general purpose computing on reconfigurable hardware. In this paper, we develop techniques for mapping loop computations from applications onto high performance pipelined configurations. Loop statements with generalized directed acyclic graph dependencies are mapped onto multiple pipeline segments. Each pipeline segment is executed for a fixed number of iterations before the hardware is reconfigured at runtime to execute the next segment. The reconfiguration cost is amortized over the multiple iterations of the execution of the loop statements. This alleviates the bottleneck of high reconfiguration overheads in current architectures. The paper describes heuristic techniques to construct pipeline configurations which have reduced total execution time including the runtime reconfiguration overheads. The performance benefits which can be achieved using our approach are illustrated by mapping example application loop onto Virtex series FPGA from Xilinx.

[1]  Markus Weinhardt Compilation and Pipeline Synthesis for Reconfigurable Architectures , 1997 .

[2]  John J. Granacki,et al.  DEFACTO: A Design Environment for Adaptive Computing Technology , 1999, IPPS/SPDP Workshops.

[3]  Seth Copen Goldstein,et al.  Managing pipeline-reconfigurable FPGAs , 1998, FPGA '98.

[4]  Malgorzata Marek-Sadowska,et al.  Partitioning Sequential Circuits on Dynamically Reconfigurable FPGAs , 1999, IEEE Trans. Computers.

[5]  Wayne Luk,et al.  Pipeline morphing and virtual pipelines , 1997, FPL.

[6]  Viktor K. Prasanna,et al.  Dynamic precision management for loop computations on reconfigurable architectures , 1999, Seventh Annual IEEE Symposium on Field-Programmable Custom Computing Machines (Cat. No.PR00375).

[7]  Viktor K. Prasanna,et al.  Mapping Loops onto Reconfigurable Architectures , 1998, FPL.

[8]  Viktor K. Prasanna,et al.  Domain Specific Mapping for Solving Graph Problems on Reconfigurable Devices , 1999, IPPS/SPDP Workshops.

[9]  Viktor K. Prasanna,et al.  Modeling and mapping for dynamically reconfigurable hybrid architectures , 2001 .

[10]  Wayne Luk,et al.  Pipeline vectorization for reconfigurable systems , 1999, Seventh Annual IEEE Symposium on Field-Programmable Custom Computing Machines (Cat. No.PR00375).

[11]  Malgorzata Marek-Sadowska,et al.  Partitioning sequential circuits on dynamically reconfiguable FPGAs , 1998, FPGA '98.

[12]  Seth Copen Goldstein,et al.  Managing Pipeline-Recon gurable FPGAs , 1997 .

[13]  Reiner W. Hartenstein,et al.  An operating system for custom computing machines based on the Xputer paradigm , 1997, FPL.

[14]  Dinesh Bhatia,et al.  Temporal Partitioning and Scheduling Data Flow Graphs for Reconfigurable Computers , 1999, IEEE Trans. Computers.

[15]  V. Prasanna,et al.  Domain Speci c Mapping for Solving Graph Problems on Recon gurable Devices ? , 1999 .

[16]  Duncan A. Buell,et al.  Splash 2 - FPGAs in a custom computing machine , 1996 .

[17]  Viktor K. Prasanna,et al.  Genetic Programming Using Self-Reconfigurable FPGAs , 1999, FPL.

[18]  Santosh Pande,et al.  Automatic Analysis of Loops to Exploit Operator Parallelism on Reconfigurable Systems , 1998, LCPC.