[gmx-developers] Optimizing free energy calculations
JR Schmidt
schmidt at chem.wisc.edu
Tue Dec 30 16:09:41 CET 2008
In its present incarnation, GROMACS is much slower when running a free
energy calculation. From the code, this seems to be because the
assembly language kernel is not used when running free energy
calculation. Given the increased complexity of the code required for
such calculations, this is not an unreasonable alternative.
However, it seems that a dramatic speedup could be accomplished by
calculating dg/dlambda only every x steps, rather than every step. In
this way, the efficient assembly language kernel could be used for the
vast majority of time steps (using the interpolated parameters), which
the fortran non-bonded routine is used only every x steps when
dg/dlambda is calculated and stored.
Since calculating dg/dlambda every step is rather useless anyway (due to
the statistical correlation), this seems like an excellent way to
increase efficiency.
This addition would also have a wonder side effect. By setting x = 0,
it would be trivial to rapidly equilibrate a system at a non-zero value
of lambda. Right now, these equilibrations are very slow, since the use
the free energy kernel (since lambda is non-zero) even though dg/dlambda
is not of interest during the equilibration period. The only
alternative that I can find currently is to make a new topology file at
each value of lambda, and then equilibrate using 'free energy = no'.
Is there a reason that this is not feasible? Would it be difficult to
accomplish?
--
J.R. Schmidt
Assistant Professor of Chemistry
Room 8305D
Department of Chemistry
University of Wisconsin-Madison
1101 University Ave
Madison, WI 53706
Phone: (608) 262-2996
Fax: (608) 262-9918
E-mail: schmidt at chem.wisc.edu
http://www.chem.wisc.edu/people/profiles/schmidt.php
More information about the gromacs.org_gmx-developers
mailing list