Systems modeled in numerical simulations can be classified as regular grid, irregular grid, and particle systems. As the computational environment evolves, ever larger simulations have become possible. Thus, particle-based methods which can handle complex and dynamically changing shapes without special treatment, have become more important. However, it is a challenge to develop efficient parallel programs for particle-based simulations on large parallel systems such as the supercomputers K or Fugaku. We need to efficiently implement domain decomposition with near-ideal load balancing, exchange particles between domains, and improve interaction calculations of particles in different domains. On the other hand, all parallel particle simulation-programs require these functions.
Consequently, we are developing the Framework for Developing Particle Simulators (FDPS), which can be used to produce any kind of particle-based simulation. FDPS receives particle data structures and functions, evaluates interactions between particles, and generates efficient libraries for parallelization. Thus, users of FDPS can develop their own highly efficient parallel particle simulation-programs without spending large amounts of time, and so can concentrate on realizing their goals.