Astrophysical Supercomputing with GPUs: Critical Decisions for Early Adopters
arXiv:1008.4623 · doi:10.1071/AS10019
Abstract
General purpose computing on graphics processing units (GPGPU) is dramatically changing the landscape of high performance computing in astronomy. In this paper, we identify and investigate several key decision areas, with a goal of simplyfing the early adoption of GPGPU in astronomy. We consider the merits of OpenCL as an open standard in order to reduce risks associated with coding in a native, vendor-specific programming environment, and present a GPU programming philosophy based on using brute force solutions. We assert that effective use of new GPU-based supercomputing facilities will require a change in approach from astronomers. This will likely include improved programming training, an increased need for software development best-practice through the use of profiling and related optimisation tools, and a greater reliance on third-party code libraries. As with any new technology, those willing to take the risks, and make the investment of time and effort to become early adopters of GPGPU in astronomy, stand to reap great benefits.
13 pages, 5 figures, accepted for publication in PASA
References in corpus (11)
- High Performance Direct Gravitational N-body Simulations on Graphics Processing Units -- II: An implementation in CUDA
- A Performance Comparison of CUDA and OpenCL
- High Performance Direct Gravitational N-body Simulations on Graphics Processing Unit I: An implementation in Cg
- Teraflop per second gravitational lensing ray-shooting using graphics processing units
- The Graphics Card as a Streaming Computer
- Graphic-Card Cluster for Astrophysics (GraCCA) -- Performance Tests
- Parallel Algorithm for Solving Kepler's Equation on Graphics Processing Units: Application to Analysis of Doppler Exoplanet Searches
- N-Body Simulations on GPUs
- GPU-Based Interactive Visualization of Billion Point Cosmological Simulations
- GPUs for data processing in the MWA
- RapidMind: Portability across Architectures and its Limitations