A Modified Aarseth Code for GRAPE and Vector Processors
Junichiro Makino · Publications of the Astronomical Society of Japan · 1991
Abstract We discuss the performance of a hierarchical timestep algorithm, which is Aarseth's individual timestep algorithm for N-body problems modified for use with GRAPE hardware and/or vector processors. In Aarseth's original algorithm, each particle has its own time and timestep. At each integration step, we update only one particle. To obtain the force on that particle, we predict the positions of all other particles at its time. In our GRAPE-2 system this prediction is performed on the general-purpose host computer, while the force calculation is performed on fast special-purpose hardware. Since the calculation cost of the prediction and the force calculation are comparable, the total speed is limited by the speed of the host computer. In the hierarchical timestep algorithm, we update several particles simultaneously. Therefore, we predict the positions of other particles only once for these particles. In order to update several particles, we organize the timesteps of particles in a hierarchy, where timesteps are "quantized" to powers of two. Theoretically, the number of particles that can be updated simultaneously is Ng≃ O(N2/3), where N is the number of particles, if the system can be regarded as being homogeneous. For 50 ≤ N ≤ 1000, experimentally we obtained Ng ~ 0.52/3 for a Plummer model. The efficiency that we obtained on GRAPE-2 system is about 70% for N = 1024.