An arithmetic library and its application to the N-body problem

Computer arithmetic is a specialist field of study, and it is very difficult for designers to choose the most efficient method for implementing a given algorithm due to the large number of design choices available. In this paper, an object oriented arithmetic library is presented which can be used to simulate and generate designs which use fixed, floating, logarithmic and hybrid number representations. The advantages of this approach are that a user can explore tradeoffs concerning precision, accuracy and speed from single high level description. Furthermore, users need not be intimately familiar with the implementation details of the underlying libraries, thus allowing users to develop systems employing advanced computer arithmetic without detailed knowledge of its implementation. The application of this library to a coprocessor which implements the force pipeline for an N-body solver is described.

[1]  Reinhard Männer,et al.  AHA-GRAPE: Adaptive Hydrodynamic Architecture - GRAvity PipE , 1999, PDPTA.

[2]  Ansi Ieee,et al.  IEEE Standard for Binary Floating Point Arithmetic , 1985 .

[3]  T. Ebisuzaki,et al.  Molecular Dynamics Machine: Special-Purpose Computer for Molecular Dynamics Simulations , 1999 .

[4]  Michael J. Flynn,et al.  Advanced Computer Arithmetic Design , 2001 .

[5]  Tomás Lang,et al.  Digit-Serial Arithmetic , 2004 .

[6]  J. Brackbill,et al.  Multiple time scales , 1985 .

[7]  Junichiro Makino,et al.  A Modified Aarseth Code for GRAPE and Vector Processors , 1991 .

[8]  Tsuyoshi Hamada,et al.  PROGRAPE-1: A Programmable, Multi-Purpose Computer for Many-Body Simulations , 2000 .

[9]  S. Aarseth Direct methods for N-Body simulations , 1994 .

[10]  Karl S. Hemmert,et al.  A CAD suite for high-performance FPGA design , 1999, Seventh Annual IEEE Symposium on Field-Programmable Custom Computing Machines (Cat. No.PR00375).

[11]  Michael J. Schulte,et al.  The Symmetric Table Addition Method for Accurate Function Approximation , 1999, J. VLSI Signal Process..

[12]  Jun Makino,et al.  Performance and accuracy of a GRAPE‐3 system for collisionless N‐body simulations , 1998 .

[13]  Israel Koren Computer arithmetic algorithms , 1993 .

[14]  Guido D. Salvucci,et al.  Ieee standard for binary floating-point arithmetic , 1985 .

[15]  Russell Tessier,et al.  Floating point unit generation and evaluation for FPGAs , 2003, 11th Annual IEEE Symposium on Field-Programmable Custom Computing Machines, 2003. FCCM 2003..

[16]  Oskar Mencer PAM-Blox II: design and evaluation of C++ module generation for computing with FPGAs , 2002, Proceedings. 10th Annual IEEE Symposium on Field-Programmable Custom Computing Machines.

[17]  Makoto Taiji,et al.  Scientific simulations with special purpose computers - the GRAPE systems , 1998 .

[18]  Toshikazu Ebisuzaki,et al.  Highly parallelized special-purpose computer, GRAPE-3 , 1993 .

[19]  Michael J. Flynn,et al.  Introduction to Arithmetic for Digital Systems Designers , 1995 .

[20]  Philip Heng Wai Leong,et al.  Arbitrary function approximation in HDLs with application to the N-body problem , 2003, Proceedings. 2003 IEEE International Conference on Field-Programmable Technology (FPT) (IEEE Cat. No.03EX798).

[21]  Cameron D. Patterson High Performance DES Encryption in Virtex(tm) FPGAs Using Jbits(tm) , 2000 .

[22]  Cameron Patterson High performance DES encryption in Virtex/sup TM/ FPGAs using JBits/sup TM/ , 2000, Proceedings 2000 IEEE Symposium on Field-Programmable Custom Computing Machines (Cat. No.PR00871).