Pseudo-random number generation for Brownian Dynamics and Dissipative Particle Dynamics simulations on GPU devices
Abstract
Highlights: {yields} Molecular Dynamics codes implemented on GPUs have achieved two-order of magnitude computational accelerations. {yields} Brownian Dynamics and Dissipative Particle Dynamics simulations require a large number of random numbers per time step. {yields} We introduce a method for generating small batches of pseudorandom numbers distributed over many threads of calculations. {yields} With this method, Dissipative Particle Dynamics is implemented on a GPU device without requiring thread-to-thread communication. - Abstract: Brownian Dynamics (BD), also known as Langevin Dynamics, and Dissipative Particle Dynamics (DPD) are implicit solvent methods commonly used in models of soft matter and biomolecular systems. The interaction of the numerous solvent particles with larger particles is coarse-grained as a Langevin thermostat is applied to individual particles or to particle pairs. The Langevin thermostat requires a pseudo-random number generator (PRNG) to generate the stochastic force applied to each particle or pair of neighboring particles during each time step in the integration of Newton's equations of motion. In a Single-Instruction-Multiple-Thread (SIMT) GPU parallel computing environment, small batches of random numbers must be generated over thousands of threads and millions of kernel calls. In this communication we introduce a one-PRNG-per-kernel-call-per-thread scheme, in which a micro-stream of pseudorandom numbers is generated inmore »
- Authors:
-
- Applied Physics, University of Michigan, Ann Arbor, Michigan 48109 (United States)
- Chemical Engineering, University of Michigan, Ann Arbor, Michigan 48109 (United States)
- Publication Date:
- OSTI Identifier:
- 21592608
- Resource Type:
- Journal Article
- Journal Name:
- Journal of Computational Physics
- Additional Journal Information:
- Journal Volume: 230; Journal Issue: 19; Other Information: DOI: 10.1016/j.jcp.2011.05.021; PII: S0021-9991(11)00332-9; Copyright (c) 2011 Elsevier Science B.V., Amsterdam, The Netherlands, All rights reserved.; Country of input: International Atomic Energy Agency (IAEA); Journal ID: ISSN 0021-9991
- Country of Publication:
- United States
- Language:
- English
- Subject:
- 97 MATHEMATICAL METHODS AND COMPUTING; ACCELERATION; COMMUNICATIONS; COMPUTERIZED SIMULATION; EQUATIONS OF MOTION; MATHEMATICAL MODELS; MOLECULAR DYNAMICS METHOD; RANDOMNESS; STOCHASTIC PROCESSES; THERMOSTATS; CALCULATION METHODS; CONTROL EQUIPMENT; DIFFERENTIAL EQUATIONS; EQUATIONS; EQUIPMENT; PARTIAL DIFFERENTIAL EQUATIONS; SIMULATION
Citation Formats
Phillips, Carolyn L, Anderson, Joshua A, Glotzer, Sharon C., E-mail: sglotzer@umich.edu, Chemical Engineering, University of Michigan, Ann Arbor, Michigan 48109, and Material Science and Engineering, University of Michigan, Ann Arbor, Michigan 48109. Pseudo-random number generation for Brownian Dynamics and Dissipative Particle Dynamics simulations on GPU devices. United States: N. p., 2011.
Web. doi:10.1016/j.jcp.2011.05.021.
Phillips, Carolyn L, Anderson, Joshua A, Glotzer, Sharon C., E-mail: sglotzer@umich.edu, Chemical Engineering, University of Michigan, Ann Arbor, Michigan 48109, & Material Science and Engineering, University of Michigan, Ann Arbor, Michigan 48109. Pseudo-random number generation for Brownian Dynamics and Dissipative Particle Dynamics simulations on GPU devices. United States. https://doi.org/10.1016/j.jcp.2011.05.021
Phillips, Carolyn L, Anderson, Joshua A, Glotzer, Sharon C., E-mail: sglotzer@umich.edu, Chemical Engineering, University of Michigan, Ann Arbor, Michigan 48109, and Material Science and Engineering, University of Michigan, Ann Arbor, Michigan 48109. 2011.
"Pseudo-random number generation for Brownian Dynamics and Dissipative Particle Dynamics simulations on GPU devices". United States. https://doi.org/10.1016/j.jcp.2011.05.021.
@article{osti_21592608,
title = {Pseudo-random number generation for Brownian Dynamics and Dissipative Particle Dynamics simulations on GPU devices},
author = {Phillips, Carolyn L and Anderson, Joshua A and Glotzer, Sharon C., E-mail: sglotzer@umich.edu and Chemical Engineering, University of Michigan, Ann Arbor, Michigan 48109 and Material Science and Engineering, University of Michigan, Ann Arbor, Michigan 48109},
abstractNote = {Highlights: {yields} Molecular Dynamics codes implemented on GPUs have achieved two-order of magnitude computational accelerations. {yields} Brownian Dynamics and Dissipative Particle Dynamics simulations require a large number of random numbers per time step. {yields} We introduce a method for generating small batches of pseudorandom numbers distributed over many threads of calculations. {yields} With this method, Dissipative Particle Dynamics is implemented on a GPU device without requiring thread-to-thread communication. - Abstract: Brownian Dynamics (BD), also known as Langevin Dynamics, and Dissipative Particle Dynamics (DPD) are implicit solvent methods commonly used in models of soft matter and biomolecular systems. The interaction of the numerous solvent particles with larger particles is coarse-grained as a Langevin thermostat is applied to individual particles or to particle pairs. The Langevin thermostat requires a pseudo-random number generator (PRNG) to generate the stochastic force applied to each particle or pair of neighboring particles during each time step in the integration of Newton's equations of motion. In a Single-Instruction-Multiple-Thread (SIMT) GPU parallel computing environment, small batches of random numbers must be generated over thousands of threads and millions of kernel calls. In this communication we introduce a one-PRNG-per-kernel-call-per-thread scheme, in which a micro-stream of pseudorandom numbers is generated in each thread and kernel call. These high quality, statistically robust micro-streams require no global memory for state storage, are more computationally efficient than other PRNG schemes in memory-bound kernels, and uniquely enable the DPD simulation method without requiring communication between threads.},
doi = {10.1016/j.jcp.2011.05.021},
url = {https://www.osti.gov/biblio/21592608},
journal = {Journal of Computational Physics},
issn = {0021-9991},
number = 19,
volume = 230,
place = {United States},
year = {Wed Aug 10 00:00:00 EDT 2011},
month = {Wed Aug 10 00:00:00 EDT 2011}
}