N-body simulation for self-gravitating collisional systems with a new SIMD instruction set extension to the x86 architecture, Advanced Vector eXtensions
Ataru Tanikawa, Kohji Yoshikawa, Takashi Okamoto, Keigo Nitadori

TL;DR
This paper introduces a high-performance N-body simulation code optimized with a new SIMD instruction set extension (AVX) on x86 architecture, achieving significant speed improvements for self-gravitating collisional systems.
Contribution
The paper presents a novel N-body simulation implementation utilizing AVX instructions, doubling previous SSE-based performance and enabling scalable computations comparable to GPU clusters.
Findings
Achieved 20 GFLOPS on a single core with AVX instructions.
Parallelized code reaches 90 GFLOPS with 8 MPI processes on four cores.
Projected performance of 10 TFLOPS on large systems with 10^5 particles.
Abstract
We present a high-performance N-body code for self-gravitating collisional systems accelerated with the aid of a new SIMD instruction set extension of the x86 architecture: Advanced Vector eXtensions (AVX), an enhanced version of the Streaming SIMD Extensions (SSE). With one processor core of Intel Core i7-2600 processor (8 MB cache and 3.40 GHz) based on Sandy Bridge micro-architecture, we implemented a fourth-order Hermite scheme with individual timestep scheme (Makino and Aarseth, 1992), and achieved the performance of 20 giga floating point number operations per second (GFLOPS) for double-precision accuracy, which is two times and five times higher than that of the previously developed code implemented with the SSE instructions (Nitadori et al., 2006b), and that of a code implemented without any explicit use of SIMD instructions with the same processor core, respectively. We have…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
