Abstract
Molecular dynamics programs simulate the behavior of biomolecular
systems, leading to insights and understanding of their functions.
However, the computational complexity of such simulations is
enormous. Parallel machines provide the potential to meet this
computational challenge. To harness this potential, it is necessary
to develop a scalable program. It is also necessary that the
program be easily modified by application-domain programmers. The
NAMD2 program presented in this paper seeks to provide these
desirable features. It uses spatial decomposition combined with
force decomposition to enhance scalability. It uses intelligent
periodic load balancing, so as to maximally utilize the available
compute power. It is modularly organized, and implemented using a
parallel C++ dialect, so as to enhance its modifiability. It uses a
combination of numerical techniques and algorithms to ensure that
energy drifts are minimized, ensuring accuracy in long running
calculations. NAMD2 uses a portable run-time framework that also
supports interoperability among multiple parallel paradigms. As a
result, different components of applications can be written in the
most appropriate parallel paradigms. NAMD2 runs on most parallel
machines including workstation clusters. This paper also describes
the performance obtained on some benchmark applications.