Acceleration of the tree method with SIMD instruction set
arXiv:1812.07313 · doi:10.1093/pasj/psy151
Abstract
We have developed a highly-tuned software library that accelerates the calculation of quadrupole terms in the Barnes-Hut tree code by use of a SIMD instruction set on the x86 architecture, Advanced Vector eXtensions 2 (AVX2). Our code is implemented as an extension of Phantom-GRAPE software library (Tanikawa et al. 2012, 2013) that significantly accelerates the calculation of monopole terms. If the same accuracy is required, the calculation of quadrupole terms can accelerate the evaluation of forces than that of only monopole terms because we can approximate gravitational forces from closer particles by quadrupole moments than by only monopole moments. Our implementation can calculate gravitational forces about 1.1 times faster in any system than the combination of the pseudoparticle multipole method and Phantom-GRAPE. Our implementation allows simulating homogeneous systems up to 2.2 times faster than that with only monopole terms, however, speed up for clustered systems is not enough because the increase of approximated interactions is insufficient to negate the increased calculation cost by computing quadrupole terms. We have estimated that improvement in performance can be achieved by the use of a new SIMD instruction set, AVX-512. Our code is expected to be able to accelerate simulations of clustered systems up to 1.08 times faster on AVX-512 environment than that with only monopole terms.
arXiv comment14 pages, 6 figures, accepted by PASJ. The code is publicly available at the official website of Phantom-GRAPE https://bitbucket.org/kohji/phantom-grape
References in corpus (19)
- The cosmological simulation code GADGET-2
- The Rockstar Phase-Space Temporal Halo Finder and the Velocity Offsets of Cluster Cores
- Multi-scale initial conditions for cosmological simulations
- 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
- A New Parallel N-body Gravity Solver: TPM
- GreeM : Massively Parallel TreePM Code for Large Cosmological N-body Simulations
- GRAPE-6A: A single-card GRAPE-6 for parallel PC-GRAPE cluster system
- TreePM: A code for Cosmological N-Body Simulations
- GRAPE-5: A Special-Purpose Computer for N-body Simulation
- GOTPM: A Parallel Hybrid Particle-Mesh Treecode
- The GC Simulations : Quantifying the Dark Side of the Universe in the Planck Cosmology
- Phantom-GRAPE: numerical software library to accelerate collisionless -body simulation with SIMD instruction set on x86 architecture
- Particle-Particle Particle-Tree: A Direct-Tree Hybrid Scheme for Collisional N-Body Simulations
- Performance Tuning of N-Body Codes on Modern Microprocessors: I. Direct Integration with a Hermite Scheme on x86_64 Architecture
- N-body simulation for self-gravitating collisional systems with a new SIMD instruction set extension to the x86 architecture, Advanced Vector eXtensions
- PPPM and TreePM Methods on GRAPE Systems for Cosmological N-body Simulations
- Pseudoparticle Multipole Method: A Simple Method to Implement High-Accuracy Treecode
- PHoToNs--A Parallel Heterogeneous & Threads oriented code for cosmological N-body simulation