Improving numerical reproducibility and stability in large-scale numerical simulations on GPUS
Date
2010-05
Authors
Journal Title
Journal ISSN
Volume Title
Publisher
University of Delaware
Abstract
The advent of general purpose graphics processing units (GPGPU’s)
brings about a whole new platform for running numerically intensive applications at
high speeds. Their multi-core architectures enable large degrees of parallelism via a
massively multi-threaded environment. Molecular dynamics (MD) simulations are
particularly well-suited for GPU’s because their computations are easily parallelizable.
Significant performance improvements are observed when single precision floating
point arithmetic is used. However, this performance comes at the cost of accuracy: it is
widely acknowledged that constant-energy (NVE) MD simulations accumulate errors
as the simulation proceeds due to the inherent errors associated with integrators used
for propagating the coordinates. A consequence of this numerical integration is the
drift of potential energy as the simulation proceeds. Double precision arithmetic
partially corrects this drifting but is significantly slower than single precision and is
comparable to CPU performance.
To address this problem, we present development of a library of
mathematical functions that use fast and efficient algorithms to improve numerical
reproducibility and stability of large-scale simulations. We test the library in terms of
its performance and accuracy with a synthetic code that emulates the behavior of MD
codes on GPU, and then we present results of a first integration of our library in a MD
code. These first results show correction of the drifting with a performance much
better than double precision.