A Highly Scalable and Efficient Parallel Design of N-Body Simulation on FPGA

N-Body simulation simulates the evolution of a system that is composed of N particles, where each element receives a force that is due to the interaction with all the other elements within the system. Usually, the influence of external physical forces, such as gravity, is involved too. This methodology is widely used in different fields that range from astrophysics, where it is used to study the interaction of celestial objects, to molecular dynamics, where the bodies are represented by molecules. Although its wide range of applicability, the algorithm presents a high computational complexity that requires the usage of powerful and high power consuming computers. An acceleration on a reconfigurable device, such as an FPGA, would benefit both in term of performance and power consumption. In this work we presents a scalable, high performance and highly efficient implementation of an N-Body simulation algorithm on FPGA. The final design is able to outperform both CPU and FPGA works in the state of the art in terms of pure performance of a factor up to 10x, and high-end GPUs in terms of performance per watt by a factor of 1.84x.

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

[2]  Atsushi Kawai,et al.  $158/GFLOPS astrophysical N-body simulation with reconfigurable add-in card and hierarchical tree algorithm , 2006, SC.

[3]  Piet Hut,et al.  A hierarchical O(N log N) force-calculation algorithm , 1986, Nature.

[4]  Makoto Taiji,et al.  A Comparative Study on ASIC, FPGAs, GPUs and General Purpose Processors in the O(N^2) Gravitational N-body Simulation , 2009, 2009 NASA/ESA Conference on Adaptive Hardware and Systems.

[5]  Guangdeng Liao,et al.  Parallel Hardware / Software Implementation of the N-body Problem on a Supercomputer CS 213 Report , 2008 .

[6]  Jeroen Bédorf,et al.  A sparse octree gravitational N-body code that runs entirely on the GPU processor , 2011, J. Comput. Phys..

[7]  Tom Feist,et al.  Vivado Design Suite , 2012 .

[8]  Xi Jin,et al.  An Accelerating Solution for N-Body MOND Simulation with FPGA-SoC , 2016, Int. J. Reconfigurable Comput..

[9]  Xi Jin,et al.  RP-Ring: A Heterogeneous Multi-FPGA Accelerating Solution for N-Body Simulations , 2016, 2016 IEEE 24th Annual International Symposium on Field-Programmable Custom Computing Machines (FCCM).

[10]  L. Greengard,et al.  A new version of the Fast Multipole Method for the Laplace equation in three dimensions , 1997, Acta Numerica.

[11]  Robert G. Belleman,et al.  High Performance Direct Gravitational N-body Simulations on Graphics Processing Units , 2007, ArXiv.

[12]  Leslie Greengard,et al.  A fast algorithm for particle simulations , 1987 .

[13]  Henry Hoffmann,et al.  Enabling technologies for self-aware adaptive systems , 2010, 2010 NASA/ESA Conference on Adaptive Hardware and Systems.

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

[15]  S. Kapur,et al.  N-body problems: IES3: Efficient electrostatic and electromagnetic simulation , 1998, IEEE Computational Science and Engineering.

[16]  Junichiro Makino,et al.  GRAPE-8 -- An accelerator for gravitational N-body simulation with 20.5Gflops/W performance , 2012, 2012 International Conference for High Performance Computing, Networking, Storage and Analysis.