SAPPORO: A way to turn your graphics cards into a GRAPE-6

被引:99
作者
Gaburov, Evghenii [1 ,2 ,3 ]
Harfst, Stefan [2 ,3 ]
Portegies Zwart, Simon [1 ,2 ,3 ]
机构
[1] Leiden Univ, Leiden Observ, NL-2333 CA Leiden, Netherlands
[2] Univ Amsterdam, Astron Inst Anton Pannekoek, NL-2300 Amsterdam, Netherlands
[3] Univ Amsterdam, Sect Computat Sci, NL-2300 Amsterdam, Netherlands
基金
美国国家科学基金会;
关键词
Stellar dynamics; Methods: N-body simulations; Methods: numerical; Galaxies: clusters: general; N-BODY SIMULATIONS; PROCESSING UNITS; PERFORMANCE ANALYSIS; HERMITE INTEGRATOR; ALGORITHMS; SYSTEMS;
D O I
10.1016/j.newast.2009.03.002
中图分类号
P1 [天文学];
学科分类号
0704 ;
摘要
We present Sapporo, a library for performing high precision gravitational N-body simulations on NVIDIA graphical processing units (GPUs). Our library mimics the GRAPE-6 library, and N-body codes currently running on GRAPE-6 can switch to Sapporo by a simple relinking of the library. The precision of our library is comparable to that of GRAPE-6, even though internally the GPU hardware is limited to single precision arithmetics. This limitation is effectively overcome by emulating double precision for calculating the distance between particles. The performance loss of this operation is small (less than or similar to 20%) compared to the advantage of being able to run at high precision. We tested the library using several GRAPE-6-enabled N-body codes, in particular with Starlab and phiGRAPE. We measured peak performance of 800 Gflop/s for running with 106 particles on a PC with four commercial G92 architecture GPUs (two GeForce 9800GX2). As a production test, we simulated a 32 k Plummer model with equal-mass stars well beyond core collapse. The simulation took 41 days, during which the mean performance was 113 Gflop/s. The GPU did not show any problems from running in a production environment for such an extended period of time. (C) 2009 Published by Elsevier B.V.
引用
收藏
页码:630 / 637
页数:8
相关论文
共 28 条
[1]  
Aarseth S.J., 1985, MULTIPLE TIME SCALES, P377
[2]   From NBODY1 to NBODY6: The growth of an industry [J].
Aarseth, SJ .
PUBLICATIONS OF THE ASTRONOMICAL SOCIETY OF THE PACIFIC, 1999, 111 (765) :1333-1346
[3]   General purpose molecular dynamics simulations fully implemented on graphics processing units [J].
Anderson, Joshua A. ;
Lorenz, Chris D. ;
Travesset, A. .
JOURNAL OF COMPUTATIONAL PHYSICS, 2008, 227 (10) :5342-5359
[4]  
Applegate J.H., 1986, LECT NOTES PHYS, V267, P86
[5]   High performance direct gravitational N-body simulations on graphics processing units II:: An implementation in CUDA [J].
Belleman, Robert G. ;
Bedorf, Jeroen ;
Portegies Zwart, Simon .
NEW ASTRONOMY, 2008, 13 (02) :103-112
[6]   Systolic and hyper-systolic algorithms for the gravitational N-body problem, with an application to Brownian motion [J].
Dorband, EN ;
Hemsendorf, M ;
Merritt, D .
JOURNAL OF COMPUTATIONAL PHYSICS, 2003, 185 (02) :484-511
[7]  
Fernando R., 2004, GPU GEMS PROGRAMMING
[8]  
Fernando R., 2003, CG TUTORIAL
[9]   Parallel algorithm for solving Kepler's equation on Graphics Processing Units: Application to analysis of Doppler exoplanet searches [J].
Ford, Eric B. .
NEW ASTRONOMY, 2009, 14 (04) :406-412
[10]   Performance analysis of direct N-body algorithms for astrophysical simulations on distributed systems [J].
Gualandris, Alessia ;
Zwart, Simon Portegies ;
Tirado-Ramos, Alfredo .
PARALLEL COMPUTING, 2007, 33 (03) :159-173