Abstract
The use of graphics processors to accelerate N-body simulations has been widely studied. The primary focus of most of these studies has been a class of problems that model the entire system of bodies interacting under Newtonian dynamic laws. A separate class of N-body problems, referred to herein as localized N-body simulations, focus on simulating only a small region of the system, with random state updates in order to find a local optimum. Due to the differences in the problem geometries, the widely applied algorithms and data structures for accelerating N-body simulations are less effective when applied to localized N-body problems. In this chapter, we present techniques for effective parallelization and acceleration of such localized N-body simulations on GPUs. Using energy minimization simulations as a case study, we show the challenges in using the existing data structures in accelerating localized N-body simulations and propose modified data structures and algorithms that enable better parallelism, achieving 7× to 27× speedup over serial code.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Stone, J.E., Hardy, D.J., Ufimtsev, I.S., Schulten, K.: GPU-accelerated molecular modeling coming of age. J. Mol. Graph. Model. 29(2), 116–125 (2010)
OpenMM: GPU-accelerated toolkit for molecular simulations. https://simtk.org/home/openmm/
Brooks, B.R., et al.: CHARMM: a program for macromolecular energy, minimization, and dynamics calculations. J. Comput. Chem. 4, 187–217 (1983)
Pappu, R.V., Hart, R.K., Ponder, J.W.: Analysis and application of potential energy smoothing and search methods for global optimization. J. Phys. Chem. B 102, 9725–9742 (1998)
Sukhwani, B., Herbordt, M.C.: Fast binding site mapping using GPUs and CUDA. In: Proceedings of the Ninth International Workshop on High Performance Computational Biology (HiCOMB’10) (2010)
Sukhwani, B., Herbordt, M.C.: FPGA-based acceleration of CHARMM-potential minimization. In: Proceedings of the Third International Workshop on High-Performance Reconfigurable Computing Technology and Applications (HPRCTA’09) (2009)
Sukhwani, B., Herbordt, M.C.: Accelerating energy minimization using graphics processors. In: Proceedings of the 2009 Symposium on Application Accelerators in High Performance Computing (SAAHPC’09) (2009)
Schaefer, M., Karplus, M.: A comprehensive analytical treatment of continuum electrostatics. J. Phys. Chem. 100(5), 1578–1599 (1996)
Still, W.C., et al.: Semianalytical treatment of solvation for molecular mechanics and dynamics. J. Am. Chem. Soc. 112(16), 6127–6129 (1990)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Appendices
Appendix A: Energy Expressions
The total energy of a system of atoms is given as a sum of various bonded and non-bonded energies for all the atoms:
Energy minimization involves repeated evaluation of this expression, once during each minimization iteration. In the current discussion, only the non-bonded terms are mapped to the GPU and evaluated using the neighbor lists.
The non-bonded energy of each atom is the sum of the contributions due to the neighboring atoms within a cutoff distance. Non-bonded energy is a sum of the electrostatic and van der Waals energy terms. A variant of the Lennard-Jones 6–12 potential representing the van der Waals energy term is shown in Eq. (18.2)
where eps i and rm i represent the van der Waals parameters of atom ‘i’, r ik is the distance between the atoms ‘i’ and ‘k’ and r c is the cut-off distance.
The electrostatic energy of a solute can be decomposed into two components; a sum of the self energies E self i of all the charges and a sum of pair-wise interaction energies E int ij [9] [Eq. (18.3)]
Using the Analytic Continuum Electrostatics (ACE) model [9], the self-energy of an atom can be represented as a sum of its Born self-energy in the solvent and the sum of effective pair-wise interactions, E self ik , due to all the other solute atoms [see Eqs. (18.4) and (18.5)].
where q i represents the charge on atom ‘i’, r ik is the distance between the two atoms, \( {\tilde{V}}_k \) is the size of the solute volume associated with atom ‘k’, ω ik and σ ik determine the height and width of the Gaussian that approximates E self ik , and μ ik is an atom-atom parameter.
The pair-wise interaction term of Eq. (18.3) is given by the generalized Born (GB) equation shown in Eq. (18.6), which is the sum of Coulomb’s law in a dielectric and the Born equation [10]
where α i and α j represent the Born radii for atoms ‘i’ and ‘j’, respectively. These in turn depend on the self energies of the atoms. The self energy of each individual atom thus needs to be computed before computing the pair-wise interactions.
Appendix B: Source Code
Rights and permissions
Copyright information
© 2014 Springer International Publishing Switzerland
About this chapter
Cite this chapter
Sukhwani, B., Herbordt, M.C. (2014). Increasing Parallelism and Reducing Thread Contentions in Mapping Localized N-Body Simulations to GPUs. In: Kindratenko, V. (eds) Numerical Computations with GPUs. Springer, Cham. https://doi.org/10.1007/978-3-319-06548-9_18
Download citation
DOI: https://doi.org/10.1007/978-3-319-06548-9_18
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-06547-2
Online ISBN: 978-3-319-06548-9
eBook Packages: Computer ScienceComputer Science (R0)