Efficient hardware generation for Dynamic Programming problems

Optimization problems are known to be very hard problems requiring a lot of CPU time. Dynamic Programming (DP) is a powerful method, which is typically used to compute large number of discrete optimization problems. This paper presents an improved approach called RVEP (RVE with pre-computation) that allows to design highly parallel hardware accelerators for wide range of DP problems. We applied our approach to three representative DP problems. We estimate speedups to 200% compared to a pure dataflow approach and at least 25% to previous RVE approach.

[1]  Gerhard Fettweis,et al.  Parallel Viterbi algorithm implementation: breaking the ACS-bottleneck , 1989, IEEE Trans. Commun..

[2]  Harold S. Stone,et al.  A Parallel Algorithm for the Efficient Solution of a General Class of Recurrence Equations , 1973, IEEE Transactions on Computers.

[3]  Stamatis Vassiliadis,et al.  DWARV: Delftworkbench Automated Reconfigurable VHDL Generator , 2007, 2007 International Conference on Field Programmable Logic and Applications.

[4]  Stamatis Vassiliadis,et al.  The MOLEN polymorphic processor , 2004, IEEE Transactions on Computers.

[5]  S. B. Needleman,et al.  A general method applicable to the search for similarities in the amino acid sequence of two proteins. , 1970, Journal of molecular biology.

[6]  Vinod Kathail,et al.  Acceleration of First and Higher Order Recurrences on Processors with Instruction Level Parallelism , 1993, LCPC.

[7]  Keshab K. Parhi,et al.  Look-ahead in dynamic programming and quantizer loops , 1989, IEEE International Symposium on Circuits and Systems,.

[8]  Jeff Mason,et al.  CHiMPS: A C-level compilation flow for hybrid CPU-FPGA architectures , 2008, 2008 International Conference on Field Programmable Logic and Applications.

[9]  Sumit Gupta,et al.  SPARK: A Parallelizing Approach to the High-Level Synthesis of Digital Circuits , 2004 .

[10]  Yoichi Muraoka,et al.  On the Number of Operations Simultaneously Executable in Fortran-Like Programs and Their Resulting Speedup , 1972, IEEE Transactions on Computers.

[11]  Zaid Al-Ars,et al.  Acceleration of Smith-Waterman using Recursive Variable Expansion , 2008, 2008 11th EUROMICRO Conference on Digital System Design Architectures, Methods and Tools.

[12]  Stamatis Vassiliadis,et al.  Recursive Variable Expansion: A Loop Transformation for Reconfigurable Systems , 2007, 2007 International Conference on Field-Programmable Technology.

[13]  Keshab K. Parhi Pipelining in dynamic programming architectures , 1991, IEEE Trans. Signal Process..

[14]  R. K. Shyamasundar,et al.  Introduction to algorithms , 1996 .

[15]  S StoneHarold,et al.  A Parallel Algorithm for the Efficient Solution of a General Class of Recurrence Equations , 1973 .