[gmx-developers] modifing nonbonded interactions
Mark Abraham
Mark.Abraham at anu.edu.au
Sun Oct 19 03:49:20 CEST 2008
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
More information about the gromacs.org_gmx-developers
mailing list