[gmx-developers] modifing nonbonded interactions

Nazish Hoda nazish at umich.edu
Sun Oct 19 04:23:44 CEST 2008

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.

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?


Quoting Mark Abraham <Mark.Abraham at anu.edu.au>:

> Nazish Hoda wrote:
>> Thanks for the suggestions.
>> I figured out that some of these subroutines are written in
>> assembly languages, which I have not changed. These are files with
>> extension *.s. I have never done assembly language coding so I am
>> trying to figure this out.
>> These are subroutines in the directory nb_kernel_x86_64_sse and the  
>> Readme file says it is SSE assembly language. If anyone has any  
>> experience with this or knows about any good and easy to follow  
>> reading resource that would
>> be of great help.
> Testing your idea in the C or FORTRAN generic kernels first is  
> almost certainly a preferable strategy to learning an assembly  
> language.
> There are several ways to force GROMACS not to use these assembly  
> optimized routines - as you'd see in gmx_setup_kernels in  
> src/gmx/nonbonded.c (per my last email) or by looking at the options  
> to "configure".
> Also, if you're after useful help, telling people your objective  
> will mean you're more likely to get advice in the right direction.  
> Your first question pre-supposed that the right approach was to  
> modify a generic non-bonded kernel. Already you seem to have learned  
> that the assembly ones supersede them under some circumstances, so  
> your first assumption was flawed. David suggested that you might be  
> better served by using lookup tables if you're trying to modify the  
> form of the nonbonded functions. If you want to benefit from others'  
> expertise, don't constrain their scope by your assumptions :-)
> 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.

More information about the gromacs.org_gmx-developers mailing list