Molecular dynamics using graphics processors and CUDA technology

Authors

  • A.S. Boyarchenkov
  • S.I. Potashnikov

Keywords:

molecular dynamics
parallel computing
graphics processing unit
CUDA technology

Abstract

A parallel implementation of interparticle interaction computation in molecular dynamics with isolated boundary conditions on graphics processors using NVIDIA CUDA is considered. An efficient CUDA version using Newton’s third law is first proposed. Full code optimization details are given. On NVIDIA GeForce 8800 GTX video card, a remarkable speed-up is achieved: up to 660 times in the case of 49152 particles compared to the scalar code running on AMD Athlon64 2 GHz CPU.


Published

2008-12-23

Issue

Section

Section 1. Numerical methods and applications

Author Biographies

A.S. Boyarchenkov

S.I. Potashnikov


References

  1. http://en.wikipedia.org/wiki/Computer_simulation
  2. http://en.wikipedia.org/wiki/Molecular_dynamics
  3. Gibbon P., Sutmann G. Long-range interactions in many-particle simulation // Quantum Simulations of Complex Many-Body Systems: From Theory to Algorithms. Lecture Notes / Grotendorst J., Marx D., Muramatsu A. (Eds.). Neumann Institute for Computing Series. Vol. 10. Jülich, 2002. 467-506.
  4. Поташников С.И., Боярченков А.С., Некрасов К.А., Купряжкин А.Я. Молекулярно-динамическое восстановление межчастичных потенциалов в диоксиде урана по тепловому расширению // Альтернативная энергетика и экология. 2007. 8. 43-52 (http://isjaee.hydrogen.ru/pdf/AEE0807/AEE08-07_Potashnikov.pdf).
  5. Боярченков А.С., Поташников С.И. Класс методов ветвления с неявной оценкой константы Липшица и бисекцией для решения задач ограниченной глобальной оптимизации (готовится в печать).
  6. SIGGRAPH 2005 GPGPU course (http://www.gpgpu.org/s2005/).
  7. Buck I. Molecular dynamics on graphics hardware // IEEE Visualization 2004 TUTORIAL // (http://www.gpgpu.org/vis2004/I.buck.vis04.raymolc.pdf).
  8. Buck I., Rangasayee V., Darve E., Pande V., and Hanrahan P. Accelerating molecular dynamics with GPUs // Proceedings of ACM Workshop on General Purpose Computing on Graphics Processors, 2004 // (http://www.cs.unc.edu/Events/Conferences/GP2/proc.pdf).
  9. Поташников С.И., Некрасов К.А., Купряжкин А.Я., Боярченков А.С., Рисованный В.Д., Голованов В.Н. Высокоскоростное моделирование диффузии ионов урана и кислорода в UO2 // Тр. Всероссийского Семинара «Вопросы создания новых методик исследований и испытаний, сличительных экспериментов, аттестации и аккредитации». Димитровград, 2005.
  10. Hummer G. The numerical accuracy of truncated Ewald sums for periodic systems with long-range Coulomb interactions. 1995. (http://arxiv.org/pdf/chem-ph/9502004v1).
  11. Поташников С.И., Боярченков А.С., Некрасов К.А., Купряжкин А.Я. Моделирование массопереноса в диоксиде урана методом молекулярной динамики с использованием графических процессоров // Альтернативная энергетика и экология. 2007. 5. 86-93 (http://isjaee.hydrogen.ru/pdf/AEE0507/ISJAEE05-07_Potashnikov.pdf).
  12. Elsen E., Houston M., Vishal V., Darve E., Hanrahan P., and Pande V. N-Body Simulation on GPUs. 2006 (http://arxiv.org/pdf/0706.3060).
  13. Боярченков А.С., Поташников С.И., Некрасов К.А., Купряжкин А.Я. Возможности графических процессоров для высокоскоростных параллельных вычислений и физического моделирования // Тр. Всероссийского Семинара «Физическое моделирование изменения свойств реакторных материалов в номинальных и аварийных условиях». Димитровград, 2008.
  14. Hamada T., Iitaka T. The chamomile scheme: an optimized algorithm for N-body simulations on programmable graphics processing units. 2007 (http://arxiv.org/pdf/astro-ph/0703100v1).
  15. Belleman R.G., Bedorf J., Zwart S.P. High performance direct gravitational N-body simulations on graphics processing units - II: An implementation in CUDA. 2007 (http://arxiv.org/pdf/0707.0438v2).
  16. Боярченков А.С., Поташников С.И. Параллельная молекулярная динамика с суммированием Эвальда и интегрированием на графических процессорах // Вычислительные методы и программирование. 2009. 10. 158-175.
  17. http://en.wikipedia.org/wiki/GPGPU
  18. Сравнительные характеристики процессоров компаний Intel, ATI, NVIDIA // (http://en.wikipedia.org/wiki/List_of_Intel_microprocessors, // http://en.wikipedia.org/wiki/Comparison_of_NVIDIA_Graphics_Processing_Units, // http://en.wikipedia.org/wiki/Comparison_of_ATI_Graphics_Processing_Units).
  19. CUDA Documentation (http://www.nvidia.com/object/cuda_develop.html).
  20. Verlet integration (http://en.wikipedia.org/wiki/Verlet_integration).
  21. NVIDIA GeForce GTX 200 GPU Datasheet // (http://www.nvidia.com/docs/IO/55506/ GeForce_GTX_GPU_Datasheet.pdf).
  22. DirectX Developer Center (http://msdn.microsoft.com/en-us/directx/default.aspx).
  23. Nitadori K., Makino J., and Hut P. Performance tuning of N-body codes on modern microprocessors: I. Direct integration with a Hermite scheme on x86 64 Architecture // New Astronomy. 2006. 12. 169-181.
  24. Diefendorff K. Pentium III = Pentium II + SSE // Microprocessor Report. March 1999. 13 // (http://studies.ac.upc.edu/ETSETB/SEGPAR/microprocessors/pentium3
  25. Increasing the accuracy of the results from the reciprocal and reciprocal square root instructions using the Newton-Raphson method. Intel Corporation, 1999 // (http://cache-www.intel.com/cd/00/00/04/10/41007_nrmethod.pdf).