Computer simulation of liquids
Computer simulation of liquids
General purpose molecular dynamics simulations fully implemented on graphics processing units
Journal of Computational Physics
Numerical Recipes 3rd Edition: The Art of Scientific Computing
Numerical Recipes 3rd Edition: The Art of Scientific Computing
CUDA by Example: An Introduction to General-Purpose GPU Programming
CUDA by Example: An Introduction to General-Purpose GPU Programming
Proceedings of the International Conference on Bioinformatics, Computational Biology and Biomedical Informatics
Journal of Computational Physics
Hi-index | 0.00 |
Understanding protein and RNA biomolecular folding and assembly processes have important applications because misfolding is associated with diseases like Alzheimer's and Parkinson's. However, simulating biologically relevant biomolecules on timescales that correspond to biological functions is an extraordinary challenge due to bottlenecks that are mainly involved in force calculations. We briefly review the molecular dynamics (MD) algorithm and highlight the main bottlenecks, which involve the calculation of the forces that interact between its substituent particles. We then present new GPU-specific performance optimization techniques for MD simulations, including 1) a parallel Verlet Neighbor List algorithm that is readily implemented using the CUDPP library and 2) a bitwise shift type compression algorithm that decreases data transfer with GPUs. We also evaluate the single vs. double precision implementation of our MD simulation code using well-established biophysical metrics, and we observe negligible differences. The GPU performance optimizations are applied to coarse-grained MD simulations of the ribosome, a protein-RNA molecular machine for protein synthesis composed of 10,219 residues and nucleotides. We observe a size-dependent speedup of 30x of the GPU-optimized MD simulation code on a single GPU over the single core CPU-optimized approach for the full 70s ribosome when all optimizations are taken into account.