Scientific article

High-performance P3M N-body code: CUBEP3M

Published inMonthly notices of the Royal Astronomical Society, vol. 436, no. 1, p. 540-559
Publication date2013

This paper presents cubep3m, a publicly available high-performance cosmological N-body code and describes many utilities and extensions that have been added to the standard package. These include a memory-light runtime spherical overdensity halo finder, a non-Gaussian initial conditions generator and a system of unique particle identification. cubep3m is fast, its accuracy is tuneable to optimize speed or memory and has been run on more than 27 000 cores, achieving within a factor of 2 of ideal weak scaling even at this problem size. The code can be run in an extra-lean mode where the peak memory imprint for large runs is as low as 37 bytes per particles, which is almost two times leaner than other widely used N-body codes. However, load imbalances can increase this requirement by a factor of 2, such that fast configurations with all the utilities enabled and load imbalances factored in require between 70 and 120 bytes per particles. cubep3m is well designed to study large-scale cosmological systems, where imbalances are not too large and adaptive time-stepping not essential. It has already been used for a broad number of science applications that require either large samples of non-linear realizations or very large dark matter N-body simulations, including cosmological reionization, halo formation, baryonic acoustic oscillations, weak lensing or non-Gaussian statistics. We discuss the structure, the accuracy, known systematic effects and the scaling performance of the code and its utilities, when applicable.

  • Dark matter
  • Large-scale structure of Universe
Citation (ISO format)
HARNOIS-DÉRAPS, Joachim et al. High-performance P<sup>3</sup>M N-body code: CUBEP<sup>3</sup>M. In: Monthly notices of the Royal Astronomical Society, 2013, vol. 436, n° 1, p. 540–559. doi: 10.1093/mnras/stt1591
Main files (1)
Article (Published version)
ISSN of the journal0035-8711

Technical informations

Creation03/31/2014 11:58:00 AM
First validation03/31/2014 11:58:00 AM
Update time03/14/2023 9:03:42 PM
Status update03/14/2023 9:03:42 PM
Last indexation01/16/2024 2:13:37 PM
All rights reserved by Archive ouverte UNIGE and the University of GenevaunigeBlack