GPU Acceleration of Runge-Kutta Integrators
CSIRO Mathematics, Perth
IEEE Transactions on Parallel and Distributed Systems, Vol. 99, No. 1. (5555)
@article{murray2011gpu,
title={GPU Acceleration of Runge-Kutta Integrators},
author={Murray, L.},
journal={IEEE Transactions on Parallel and Distributed Systems},
issn={1045-9219},
year={2011},
publisher={Published by the IEEE Computer Society}
}
We consider the use of commodity graphics processing units (GPUs) for the common task of numerically integrating ordinary differential equations (ODEs), achieving speed-ups of up to 115-fold over comparable serial CPU implementations, and 15-fold over multithreaded CPU code with SIMD intrinsics. Using Lorenz ’96 models as a case study, single and double precision benchmarks are established for both the widely used DOPRI5 method and computationally tailored low-storage RK4(3)5[2R+]C. A range of configurations are assessed on each, including multithreading and SIMD intrinsics on the CPU, and GPU kernels parallelised over both the dimensionality of the ODE system and number of trajectories. On the GPU we draw particular attention to the problem of variable task-length amongst threads of the same warp, proposing a lightweight strategy of assigning multiple data items to each thread to reduce the prevalence of redundant operations. A simple analysis suggests that the strategy can draw performance close to that of ideal parallelism, while empirical results demonstrate up to a 10% improvement over the standard approach.
February 22, 2011 by hgpu