N-body simulation for self-gravitating collisional systems with a new
SIMD instruction set extension to the x86 architecture, Advanced Vector
eXtensions
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 parallelized the code by using
so-called NINJA scheme (Nitadori et al., 2006a), and achieved 90 GFLOPS for a
system containing more than N = 8192 particles with 8 MPI processes on four
cores. We expect to achieve about 10 tera FLOPS (TFLOPS) for a self-gravitating
collisional system with N 105 on massively parallel systems with at most 800
cores with Sandy Bridge micro-architecture. This performance will be comparable
to that of Graphic Processing Unit (GPU) cluster systems, such as the one with
about 200 Tesla C1070 GPUs (Spurzem et al., 2010). This paper offers an
alternative to collisional N-body simulations with GRAPEs and GPUs.Comment: 14 pages, 9 figures, 3 tables, accepted for publication in New
Astronomy. The code is publicly available at
http://code.google.com/p/phantom-grape