High Performance Direct Gravitational N-body Simulations on Graphics Processing Units: An implementation in CUDA (thesis)
Universiteit van Amsterdam
Universiteit van Amsterdam
@article{bedorf2007high,
title={High Performance Direct Gravitational N-body Simulations on Graphics Processing Units},
author={B{‘e}dorf, J.},
year={2007},
publisher={Citeseer}
}
At the end of 2006 NVIDIA introduced a new generation of graphical processing units (GPUs) (the so called G80 architecture). These GPUs are more powerful than any of the GPUs released before; they offer up to 350 billion floating-point operations per second (GFLOP/s) in certain situations. With the introduction of this hardware NVIDIA released a new programming environment that makes it easier for programmers to use the GPU for other tasks than graphics. This software environment is called Compute Unified Device Architecture (CUDA) and interacts closely with the hardware characteristics of the G80 architecture. In this thesis CUDA is used to implement an N-body algorithm that is suitable for astrophysical direct N-body integrations. The performance of the GPU will be compared with the GRAPE-6Af special hardware. To compare the GPU and the GRAPE we have implemented our algorithm in a library that is compatible with the GRAPE library. This library is linked with the starlab software package to compare performance and relative error between the GPU and the GRAPE. Results show that the GPU can match the performance of the GRAPE and achieve a comparable error when a relative large energy error is acceptable. For high precision simulations the GRAPE outperforms the GPU, because the double precision on the GRAPE hardware allows the algorithm to take larger time steps while maintaining a higher accuracy. The GPU hardware is single precision, but double precision GPUs have been announced in various NVIDIA documents. The GPU code can easily be adapted for other N-body algorithms by changing the equations that are used. This enables researchers from other research areas to speed up their codes by several orders of magnitude at a relative low cost.
November 9, 2010 by hgpu