[gmx-developers] modifing nonbonded interactions

David van der Spoel spoel at xray.bmc.uu.se
Sun Oct 19 10:23:07 CEST 2008


Nazish Hoda wrote:
>> OK. While the simplest way to implement this is to modify the inner 
>> loop of the kernels to do such a comparison, this will severely hurt 
>> performance. If one was already dropping from the optimized kernels to 
>> a generic kernel, then the additional drop is probably not so severe, 
>> but I'd expect still noticeable.
> 
> This is what I have done. It is definetely slower. I am more interested 
> in checking the physics. If this works then I will think of implementing 
> the other idea you gave; that would require more effort. The big plan is 
> to perform implict solvent simulations for charged systems that can 
> mimic full atomistic simulations.
> 
> I have posted these queries on a regular basis for two weeks now, since 
> I started to work on this. But no one use to respond. I did not wanted to
> spend much time going through the full source code because I needed to
> add just few lines. I was lucky today that I got some responses.
> 
> I would like to thank you once more, it really saved me lots of time, 
> Nazish.

Implementing distance dependent cutoff using tables is very simple, in 
addition it does not hurt performance compared to e.g.using PME since 
you we use tables for that as well. Most important using tables this 
will work in vanilla gromacs.

You may want to check recent papers by Berk Hess where he has done 
similar things, by the way.

> 
> 
> Quoting Mark Abraham <Mark.Abraham at anu.edu.au>:
> 
>> Nazish Hoda wrote:
>>> Hi Mark,
>>>
>>> I really appreciate your help.
>>> Let me first describe what I am planning to do.
>>> I want to implement a position dependent dielectric constant:
>>> \epsilon = \epsilon_near  r < r_1,
>>> \epsilon = \epsilon_far   r > r_1.
>>
>> OK. While the simplest way to implement this is to modify the inner 
>> loop of the kernels to do such a comparison, this will severely hurt 
>> performance. If one was already dropping from the optimized kernels to 
>> a generic kernel, then the additional drop is probably not so severe, 
>> but I'd expect still noticeable.
>>
>> Much better would be to hijack the twin-range cut-off machinery to 
>> create different groups of nonbonded interactions which get sent to 
>> unmodified nonbonded kernels with different epsilon values. This way 
>> the  distance test is done once per (charge-group) interaction during 
>> the neighbour-searching, and you get to keep the optimized kernels. 
>> See section 4.6.3 of the GROMACS 3.3 manual for some introductory 
>> information.
>>
>> Better still would be to find that some other simulation code already 
>> has such a mechanism implemented.
>>
>>> Regarding your suggestions, I now understand that I can force it not 
>>> to use the optimized subroutines. Though I did not undertand what 
>>> David means that I will be better served by using lookup tables; is 
>>> he referring to the numbering scheme for LJ, Coloumbic, and water 
>>> optimized functions, and how to use this information to refer to the 
>>> correct kernel functions?
>>
>> They don't vary the kernels, that's the point. Once you supply a 
>> table, the table-lookup kernels will be used. See section 6.6 of the 
>> 3.3 manual. Such an approach isn't useful to you, since you want what 
>> amounts to a different functional form depending on the value of r. 
>> This underscores why you should have been describing your objective, 
>> so that people trying to help you don't have to make shots in the dark 
>> - or ignore you until you ask a "right" question :-).
>>
>> Mark
>> _______________________________________________
>> 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.


-- 
David van der Spoel, Ph.D., Professor of Biology
Molec. Biophys. group, Dept. of Cell & Molec. Biol., Uppsala University.
Box 596, 75124 Uppsala, Sweden. Phone:	+46184714205. Fax: +4618511755.
spoel at xray.bmc.uu.se	spoel at gromacs.org   http://folding.bmc.uu.se



More information about the gromacs.org_gmx-developers mailing list