[gmx-developers] Optimizing free energy calculations
hessb at mpip-mainz.mpg.de
hessb at mpip-mainz.mpg.de
Tue Dec 30 22:17:25 CET 2008
We are working on only calculating/printing dgdl every n steps.
However, using the assembly loops is not possible in all cases.
Gromacs interpolates the A and B state potentials, not the parameters.
Only in special cases interpolating the parameters (LJ parameters
and charges) is identical to interpolating the potentials,
free energy of solvation is one of such cases.
Anyhow, the assembly loops are used for all non-perturbed interactions,
so it is questionable if it is worth detecting if parameter interpolation
would be identical to potential interpolation so the assembly loops
could be used.
> 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
> 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.
> This email was Anti Virus checked by Astaro Security Gateway.
More information about the gromacs.org_gmx-developers