[gmx-developers] Optimizing free energy calculations

JR Schmidt schmidt at chem.wisc.edu
Wed Dec 31 15:23:39 CET 2008


I guess I'm doing the worst case scenario: perturbing a large part of 
the system with PME.  (I am calculating the free energy difference 
between an ordered and disordered phase of a clay system using some 
rather creative thermodynamic integration.  It uses some position 
constraints and some charge scaling.)  I think its one of the cases that 
'could' be done more efficiently, as it would (in theory) work with 
parameter interpolation.

In practice, during the long equilibrations, I am just doing this 
interpolation manually and setting 'free energy = no'.

Thanks for the feedback; I won't waste my time trying to hack this in, 
as it sounds like major changes are on the way.

    JR
>
> 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 
> space evaluations.
>
> 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 :-)
>
> Cheers,
>
> Erik
>
>
> 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
>> http://www.chem.wisc.edu/people/profiles/schmidt.php
>>
>> _______________________________________________
>> gmx-developers mailing list
>> gmx-developers at gromacs.org
>> http://www.gromacs.org/mailman/listinfo/gmx-developers
>> Please don't post (un)subscribe requests to the list. Use the www 
>> interface or send it to gmx-developers-request at gromacs.org.
>
> _______________________________________________
> gmx-developers mailing list
> gmx-developers at gromacs.org
> http://www.gromacs.org/mailman/listinfo/gmx-developers
> Please don't post (un)subscribe requests to the list. Use thewww 
> interface or send it to gmx-developers-request at gromacs.org.


-- 
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