# Accelerated FDPS --- Algorithms to Use Accelerators with FDPS

**Authors:** Masaki Iwasawa, Daisuke Namekata, Keigo Nitadori, Kentaro Nomura, Long, Wang, Miyuki Tsubouchi, Junichiro Makino

arXiv: 1907.02290 · 2020-02-12

## TL;DR

This paper enhances FDPS to efficiently utilize accelerators like GPGPUs in particle simulations, reducing CPU work and communication, achieving about 27% of theoretical peak performance on NVIDIA Volta GPUs.

## Contribution

The paper introduces interface modifications and new techniques in FDPS to improve accelerator efficiency and reduce communication overhead in particle-based simulations.

## Key findings

- Achieved 27% of theoretical peak performance on NVIDIA Volta GPGPU.
- Developed a detailed performance model for FDPS with accelerators.
- Enhanced FDPS interface for better accelerator utilization.

## 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.

## Full text

_Full body text omitted from this summary view._ Fetch the complete paper as Markdown: https://tomesphere.com/paper/1907.02290/full.md

## Figures

15 figures with captions in the complete paper: https://tomesphere.com/paper/1907.02290/full.md

## References

28 references — full list in the complete paper: https://tomesphere.com/paper/1907.02290/full.md

---
Source: https://tomesphere.com/paper/1907.02290