TY - JOUR

T1 - Parallel algorithm for solving Kepler's equation on Graphics Processing Units

T2 - Application to analysis of Doppler exoplanet searches

AU - Ford, Eric B.

N1 - Funding Information:
This research was supported by UF, the Research Opportunity Incentive Seed Fund, and NASA JPL subcontract #1349281. We thank Jainwei Gao, Mario Juric, Jorg Peters, Alice Quillen, and Young In Yeo for helpful discussions about implementing and optimizing CUDA code. We thank Tom Loredo for bringing DEMCMC to our attention. Finally, we thank nVidia Corp., for sponsoring AstroGPU 2007 and particularly Mark Harris and David Luebke for their contributions to training astronomers in GPU programming.

PY - 2009/5

Y1 - 2009/5

N2 - We present the results of a highly parallel Kepler equation solver using the Graphics Processing Unit (GPU) on a commercial nVidia GeForce 280GTX and the "Compute Unified Device Architecture" (CUDA) programming environment. We apply this to evaluate a goodness-of-fit statistic (e.g., χ2) for Doppler observations of stars potentially harboring multiple planetary companions (assuming negligible planet-planet interactions). Given the high-dimensionality of the model parameter space (at least five dimensions per planet), a global search is extremely computationally demanding. We expect that the underlying Kepler solver and model evaluator will be combined with a wide variety of more sophisticated algorithms to provide efficient global search, parameter estimation, model comparison, and adaptive experimental design for radial velocity and/or astrometric planet searches. We tested multiple implementations using single precision, double precision, pairs of single precision, and mixed precision arithmetic. We find that the vast majority of computations can be performed using single precision arithmetic, with selective use of compensated summation for increased precision. However, standard single precision is not adequate for calculating the mean anomaly from the time of observation and orbital period when evaluating the goodness-of-fit for real planetary systems and observational data sets. Using all double precision, our GPU code outperforms a similar code using a modern CPU by a factor of over 60. Using mixed precision, our GPU code provides a speed-up factor of over 600, when evaluating nsys > 1024 models planetary systems each containing npl = 4 planets and assuming nobs = 256 observations of each system. We conclude that modern GPUs also offer a powerful tool for repeatedly evaluating Kepler's equation and a goodness-of-fit statistic for orbital models when presented with a large parameter space.

AB - We present the results of a highly parallel Kepler equation solver using the Graphics Processing Unit (GPU) on a commercial nVidia GeForce 280GTX and the "Compute Unified Device Architecture" (CUDA) programming environment. We apply this to evaluate a goodness-of-fit statistic (e.g., χ2) for Doppler observations of stars potentially harboring multiple planetary companions (assuming negligible planet-planet interactions). Given the high-dimensionality of the model parameter space (at least five dimensions per planet), a global search is extremely computationally demanding. We expect that the underlying Kepler solver and model evaluator will be combined with a wide variety of more sophisticated algorithms to provide efficient global search, parameter estimation, model comparison, and adaptive experimental design for radial velocity and/or astrometric planet searches. We tested multiple implementations using single precision, double precision, pairs of single precision, and mixed precision arithmetic. We find that the vast majority of computations can be performed using single precision arithmetic, with selective use of compensated summation for increased precision. However, standard single precision is not adequate for calculating the mean anomaly from the time of observation and orbital period when evaluating the goodness-of-fit for real planetary systems and observational data sets. Using all double precision, our GPU code outperforms a similar code using a modern CPU by a factor of over 60. Using mixed precision, our GPU code provides a speed-up factor of over 600, when evaluating nsys > 1024 models planetary systems each containing npl = 4 planets and assuming nobs = 256 observations of each system. We conclude that modern GPUs also offer a powerful tool for repeatedly evaluating Kepler's equation and a goodness-of-fit statistic for orbital models when presented with a large parameter space.

UR - http://www.scopus.com/inward/record.url?scp=58649093076&partnerID=8YFLogxK

UR - http://www.scopus.com/inward/citedby.url?scp=58649093076&partnerID=8YFLogxK

U2 - 10.1016/j.newast.2008.12.001

DO - 10.1016/j.newast.2008.12.001

M3 - Article

AN - SCOPUS:58649093076

SN - 1384-1076

VL - 14

SP - 406

EP - 412

JO - New Astronomy

JF - New Astronomy

IS - 4

ER -