GPU

GPU code.

Implementing Molecular Dynamics (MD) code on GPUs is a current hot topic! It is especially attractive
to our NML method as it utilizes many linear algebra routines from Blas, which is available to new GPU
development kits. One of the problems with GPU calculations is that they are generally single
precision arithmetic, offers considerable computational efficiency compared to double precision,
but can lead to large force field errors if not implemented correctly.

In conjunction with our GPU code implementation we are developing Shadow Hamiltonian methods to
test the numerics. The use of symplectic integrators gives rise to the idea of the Shadow Hamiltonian,
backward error analysis finds a Hamiltonian which is arbitrarily close to a quantity which is exactly
preserved by the numerical method. Shadow Hamiltonian methods are extremely sensitive to errors
in dynamics and has been used successfully to determine the stability limits of integrators (linear
and non-linear) and accuracy of force fields, particularly in relation to the continuity of cutoffs and their
complements. Clearly the methods can only be used for symplectic integrators but when used as an
analysis tool for force fields the results are pertinent to non-Hamiltonian methods.

In the following initial report I have used Shadow Hamiltonian techniques to analyze the effects of
reducing the arithmetic precision from double to single for our molecular dynamics code 'Protomol'.
In line with the comments I received the 'extensive' variables, which are summed over the whole
model (i.e. energies), retained double precision, as did the code for calculating the Shadow Hamiltonian.

The report can be viewed here.

OpenMM Group at Stanford University.

OpenMM group

Our collaboration with the OpenMM  group at Stanford University has allowed me to implement a GPU
version of the Normal Mode Langevin method in OpenMM. This GPU library is freely available and
Protomol has been extended to utilize OpenMM.