Premium
Macromolecular dynamics on a shared‐memory multiprocessor
Author(s) -
Skeel Robert D.
Publication year - 1991
Publication title -
journal of computational chemistry
Language(s) - English
Resource type - Journals
SCImago Journal Rank - 0.907
H-Index - 188
eISSN - 1096-987X
pISSN - 0192-8651
DOI - 10.1002/jcc.540120206
Subject(s) - computer science , speedup , parallel computing , vectorization (mathematics) , subroutine , benchmark (surveying) , verlet integration , multiprocessing , molecular dynamics , computational science , chemistry , computational chemistry , programming language , geodesy , geography
This is a study of the effect of data structures and algorithms on parallelism and vectorization for the molecular dynamics package GROMOS. About 80% of the computing time (for the GROMOS benchmark) is spent on the nonbonded interactions, and an important issue is the method that is used for finding all pairs of atoms (actually atom groups) which are within a given cutoff radius of each other. Favored by the authors of GROMOS is the use of the (Verlet) neighbor list with direct calculation of all distances. Substantial restructuring of their code for the nonbonded interactions has resulted in a speedup of a factor 6.9 for the eight‐processor Alliant FX/8 through the use of concurrent subroutine calls. Vectorization gave a further improvement of 30%. However, the direct calculation of all distances does not scale up linearly with the number of atoms. (Nor would neighbor lists be needed if cutoffs were abandoned in favor of such techniques as the fast multipole method). Therefore an alternative GROMOS subroutine that implements the “gridcell plus linked list” approach without a neighbor list was also rewritten and tested. This resulted in the discovery of an apparent flaw in an early study of the relative merits of the two algorithms. It is observed that actually the neighbor list version of GROMOS is not much faster.