Efficient table lookup without inverse square roots for calculation of pair wise atomic interactions in classical simulations



A major bottleneck in classical atomistic simulations of biomolecular systems is the calculation of the pair wise nonbonded (Coulomb, van der Waals) interactions. This remains an issue even when methods are used (e.g., lattice summation or spherical cutoffs) in which the number of interactions is reduced from O(N2) to O(NlogN) or O(N). The interaction forces and energies can either be calculated directly each time they are needed or retrieved using precomputed values in a lookup table; the choice between direct calculation and table lookup methods depends on the characteristics of the system studied (total number of particles and the number of particle kinds) as well as the hardware used (CPU speed, size and speed of cache, and main memory). A recently developed lookup table code, implemented in portable and easily maintained FORTRAN 95 in the CHARMM program (www.charmm.org), achieves a 1.5- to 2-fold speedup compared with standard calculations using highly optimized FORTRAN code in real molecular dynamics simulations for a wide range of molecular system sizes. No approximations other than the finite resolution of the tables are introduced, and linear interpolation in a table with the relatively modest density of 100 points/Å2 yields the same accuracy as the standard double precision calculations. For proteins in explicit water a less dense table (10 points/Å2) is 10–20% faster than using the larger table, and only slightly less accurate. The lookup table is even faster than hand coded assembler routines in most cases, mainly due to a significantly smaller operation count inside the inner loop. © 2008 Wiley Periodicals, Inc. J Comput Chem, 2009