Efficient pseudo-random number generators for biomolecular simulations on graphics processors

A. Zhmurov, K. Rybnikov, Y. Kholodov, V. Barsegov
Moscow Institute of Physics and Technology, Dolgoprudnyi, Moscow region, Russia, 141700
arXiv:1003.1123v1 [physics.chem-ph] (4 Mar 2010)


   title={Efficient pseudo-random number generators for biomolecular simulations on graphics processors},

   author={Zhmurov, A. and Rybnikov, K. and Kholodov, Y. and Barsegov, V.},

   journal={Arxiv preprint arXiv:1003.1123},



Download Download (PDF)   View View   Source Source   



Langevin Dynamics, Monte Carlo, and all-atom Molecular Dynamics simulations in implicit solvent, widely used to access the microscopic transitions in biomolecules, require a reliable source of random numbers. Here we present the two main approaches for implementation of random number generators (RNGs) on a GPU, which enable one to generate random numbers on the fly. In the one-RNG-per-thread approach, inherent in CPU-based calculations, one RNG produces a stream of random numbers in each thread of execution, whereas the one-RNG-for-all-threads approach builds on the ability of different threads to communicate, thus, sharing random seeds across the entire GPU device. We exemplify the use of these approaches through the development of Ran2, Hybrid Taus, and Lagged Fibonacci algorithms fully implemented on the GPU. As an application-based test of randomness, we carry out LD simulations of N independent harmonic oscillators coupled to a stochastic thermostat. This model allows us to assess statistical quality of random numbers by comparing the simulation output with the exact results that would be obtained with truly random numbers. We also profile the performance of these generators in terms of the computational time, memory usage, and the speedup factor (CPU/GPU time).
No votes yet.
Please wait...

* * *

* * *

HGPU group © 2010-2017 hgpu.org

All rights belong to the respective authors

Contact us: