[gmx-developers] Optimizing free energy calculations
lindahl at cbr.su.se
Wed Dec 31 10:55:21 CET 2008
As Berk mentioned we're already working on it (as part of a much
larger generalization of the FE stuff) :-)
However, for most applications you are only perturbing a small part of
the system, and since only the perturbed interactions use the special
FE kernel the performance hit is negligible. A bigger hit comes if you
use PME together with free energy, since that requires two reciprocal
Just out of curiosity - do you have a case where you are perturbing a
large part of the system, or are you using PME? If not, it might be
something else (read: bug :-)
On Dec 30, 2008, at 4:09 PM, JR Schmidt wrote:
> 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
> gmx-developers mailing list
> gmx-developers at gromacs.org
> Please don't post (un)subscribe requests to the list. Use the www
> interface or send it to gmx-developers-request at gromacs.org.
More information about the gromacs.org_gmx-developers