Accelerated FDPS --- Algorithms to Use Accelerators with FDPS
arXiv:1907.02290 · doi:10.1093/pasj/psz133
Abstract
In this paper, we describe the algorithms we implemented in FDPS to make efficient use of accelerator hardware such as GPGPUs. We have developed FDPS to make it possible for many researchers to develop their own high-performance parallel particle-based simulation programs without spending large amount of time for parallelization and performance tuning. The basic idea of FDPS is to provide a high-performance implementation of parallel algorithms for particle-based simulations in a "generic" form, so that researchers can define their own particle data structure and interparticle interaction functions and supply them to FDPS. FDPS compiled with user-supplied data type and interaction function provides all necessary functions for parallelization, and using those functions researchers can write their programs as though they are writing simple non-parallel program. It has been possible to use accelerators with FDPS, by writing the interaction function that uses the accelerator. However, the efficiency was limited by the latency and bandwidth of communication between the CPU and the accelerator and also by the mismatch between the available degree of parallelism of the interaction function and that of the hardware parallelism. We have modified the interface of user-provided interaction function so that accelerators are more efficiently used. We also implemented new techniques which reduce the amount of work on the side of CPU and amount of communication between CPU and accelerators. We have measured the performance of N-body simulations on a systems with NVIDIA Volta GPGPU using FDPS and the achieved performance is around 27 \% of the theoretical peak limit. We have constructed a detailed performance model, and found that the current implementation can achieve good performance on systems with much smaller memory and communication bandwidth.
References in corpus (9)
- The cosmological simulation code GADGET-2
- REBOUND: An open-source multi-purpose N-body code for collisional dynamics
- Accelerating NBODY6 with Graphics Processing Units
- GRAPE-6: The massively-parallel special-purpose computer for astrophysical particle simulation
- A sparse octree gravitational N-body code that runs entirely on the GPU processor
- Implementation and performance of FDPS: A Framework Developing Parallel Particle Simulation Codes
- SAPPORO: A way to turn your graphics cards into a GRAPE-6
- GreeM : Massively Parallel TreePM Code for Large Cosmological N-body Simulations
- Fortran interface layer of the framework for developing particle simulator FDPS
Cited by in corpus (14)
- PeTar: a high-performance N-body code for modeling massive collisional stellar systems
- Gravitational wave of intermediate-mass black holes in Population III star clusters
- Massive star cluster formation I. High star formation efficiency while resolving feedback of individual stars
- The impact of primordial binary on the dynamical evolution of intermediate massive star clusters
- A tale of caution: the tails of NGC 752 are much longer than claimed
- The impact of massive stars and black holes on the fate of open star clusters and their tidal streams
- Impact of initial mass functions on the dynamical channel of gravitational wave sources
- Merging Hierarchical Triple Black Hole Systems with Intermediate-mass Black Holes in Population III Star Clusters
- Formation and evolution of binary black holes in -body simulations of star clusters with up to two million stars
- On the origin of the split main sequences of the young massive cluster NGC 1856
- Tidal disruption of stellar clusters and their remnants' spatial distribution near the galactic center
- Investigating the UV-excess in star clusters with -body simulations: predictions for future CSST observations
- Mock Observations of Multiple Stellar Populations in Tidal Streams of Palomar 5 for the Chinese Space Station Survey Telescope
- Mass and Spin Growth of Very Massive Stars in Star Clusters Potentially Associated with Little Red Dots