Computing Models for FPGA-Based Accelerators with Case Studies in Molecular Modeling

Field Programmable Gate Arrays (FPGAs) are widely being considered as accelerators for compute intensive applications – and not just as add-on components as been possible for many years, but also tightly integrated with the main processor. This interest has been motivated, in part, by reported speedups of . This performance, however, have sometimes failed to translate to production applications. Moreover, the unique issues in programming FPGAs has left some application writers waiting for better tools before giving them serious consideration. In our work we have found that a critical phase of FPGA application development is finding, and mapping to, the appropriate computing model. This leads to the central point of this article: that there are several such models, and that they differ significantly from models generally used in programming. For example, whereas parallel computing models are often based on thread execution and interaction, FPGA computing can take advantage of additional degrees of freedom than available in software. This enables models based on the fundamental characteristics from which FPGAs get their capability, including highly flexible fine-grained parallelism and associative operations such as broadcast and collective response. After a review of FPGA architecture, systems, and constructs, we present five such models. The final part of the paper illustrates their use in applications involving molecular modeling. A version of this work has been accepted for publication in Computing in Science and Engineering. This work was supported in part by the NIH through awards #R21-RR020209-01 and and #R01-RR023168-01A1, and facilitated by donations from XtremeData, Inc., SGI, and Xilinx Corporation. Web: http://www.bu.edu/caadlab. EMail: herbordt@bu.edu. Currently with The MathWorks, Inc. Currently with Altera, Inc. Currently with MIT Lincoln Laboratory

[1]  J. Bajorath,et al.  Docking and scoring in virtual screening for drug discovery: methods and applications , 2004, Nature Reviews Drug Discovery.

[2]  W. Najjar,et al.  Compiled Code Acceleration of NAMD on FPGAs , 2007 .

[3]  Martin C. Herbordt,et al.  Rigid Molecule Docking: FPGA Reconfiguration for Alternative Force Laws , 2006, EURASIP J. Adv. Signal Process..

[4]  D. C. Rapaport,et al.  The Art of Molecular Dynamics Simulation , 1997 .

[5]  Feng Ding,et al.  Simple but predictive protein models. , 2005, Trends in biotechnology.

[6]  Nachiket Kapre,et al.  Design patterns for reconfigurable computing , 2004, 12th Annual IEEE Symposium on Field-Programmable Custom Computing Machines.

[7]  Martin C. Herbordt,et al.  Acceleration of a production rigid molecule docking code , 2008, 2008 International Conference on Field Programmable Logic and Applications.

[8]  Duncan H. Lawrie,et al.  Access and Alignment of Data in an Array Processor , 1975, IEEE Transactions on Computers.

[9]  Earl E. Swartzlander,et al.  Systolic Signal Processing Systems , 1987 .

[10]  E. Roza Systems-on-chip: what are the limits? , 2001 .

[11]  Alfred V. Aho,et al.  The Design and Analysis of Computer Algorithms , 1974 .

[12]  Robert D. Skeel,et al.  Multiple grid methods for classical molecular dynamics , 2002, J. Comput. Chem..

[13]  Martin C. Herbordt,et al.  Application-Specific Memory Interleaving Enables High Performance in FPGA-based Grid Computations , 2006, 2006 14th Annual IEEE Symposium on Field-Programmable Custom Computing Machines.

[14]  Nikolay V Dokholyan,et al.  Studies of folding and misfolding using simplified models. , 2006, Current opinion in structural biology.

[15]  Hugh Garraway Parallel Computer Architecture: A Hardware/Software Approach , 1999, IEEE Concurrency.

[16]  G. Amdhal,et al.  Validity of the single processor approach to achieving large scale computing capabilities , 1967, AFIPS '67 (Spring).

[17]  Dominique Lavenier,et al.  Evaluation of the streams-C C-to-FPGA compiler: an applications perspective , 2001, FPGA '01.

[18]  Maya Gokhale,et al.  Promises and Pitfalls of Reconfigurable Supercomputing , 2006, ERSA.

[19]  Paul Chow,et al.  Reconfigurable molecular dynamics simulator , 2004, 12th Annual IEEE Symposium on Field-Programmable Custom Computing Machines.

[20]  Martin C. Herbordt,et al.  FPGA-Based Multigrid Computation for Molecular Dynamics Simulations , 2007 .

[21]  Martin C. Herbordt,et al.  Explicit design of FPGA-based coprocessors for short-range force computations in molecular dynamics simulations , 2008, Parallel Comput..

[22]  John W. Backus,et al.  Can programming be liberated from the von Neumann style?: a functional style and its algebra of programs , 1978, CACM.

[23]  Martin C. Herbordt,et al.  Lamp: tools for creating application-specific fpga coprocessors , 2006 .

[24]  A. Krikelis,et al.  Associative processing and processors , 1994, Computer.

[25]  Martin C. Herbordt,et al.  Discrete Event Simulation of Molecular Dynamics with Configurable Logic , 2007, 2007 International Conference on Field Programmable Logic and Applications.

[26]  Volodymyr V. Kindratenko,et al.  A case study in porting a production scientific supercomputing application to a reconfigurable computer , 2006, 2006 14th Annual IEEE Symposium on Field-Programmable Custom Computing Machines.

[27]  Viktor K. Prasanna,et al.  Hardware/Software Approach to Molecular Dynamics on Reconfigurable Computers , 2006, 2006 14th Annual IEEE Symposium on Field-Programmable Custom Computing Machines.

[28]  Stylianos Perissakis,et al.  Stream computations organized for reconfigurable execution , 2006, Microprocess. Microsystems.

[29]  Stephen R. Comeau,et al.  PIPER: An FFT‐based protein docking program with pairwise potentials , 2006, Proteins.

[30]  Sadaf R. Alam,et al.  Using FPGA Devices to Accelerate Biomolecular Simulations , 2007, Computer.

[31]  E. Katchalski‐Katzir,et al.  Molecular surface recognition: determination of geometric fit between proteins and their ligands by correlation techniques. , 1992, Proceedings of the National Academy of Sciences of the United States of America.

[32]  Oskar Mencer,et al.  ASC: a stream compiler for computing with FPGAs , 2006, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.