Hi,

On May 20, 2007, at 11:50 PM, WU Yanbin wrote:

  Thanks for the suggestions.
I have traced the calling sequence from do_force() to calculate LJ forces: do_force() -->force() -->do_nonbonded(). But in do_nonbonded() function of nonbonded.c file, if for general processor, it should have call gmx_nb_generic_kernel() function but this line is in fact commented and the implimentation of gmx_nb_generic_kernel() can not be found. My gromacs version is v3.3. So is there previous implementation of this function? I can write it myself but the efficiency will be much lower. Any suggestions? Thanks in advance.

No, the "generic" loop is actually something new we haven't implemented yet (well, only partly at least).

The idea is to have three levels of optimization, depending both on the architecture and how complicated/custom interactions you want to do.


1. For common simulation setups on common hardware you will run the manually tuned assembly kernels. 2. When that isn't possible, we have a wider selection of automatically generated kernels in C/Fortran (the nb_kernel directory). These are somewhat optimized for different hardware when it comes to prefetching, the 1/sqrt(x) calls, but do not use any inline assembly. 3. If you want to do esoteric interactions such as multipoles or hack your own functional form, we intend to have a "generic" C-language kernel with a switch statement for the type of interaction inside the innermost loop. This is not good for performance, but it should be straightforward both to understand and hack, not to mention it can be faster than using tables for the interactions.

For reference, have a look at the 1,4-interactions routine to see what it would look like.

Cheers,

Erik


_______________________________________________
gmx-users mailing list    gmx-users@gromacs.org
http://www.gromacs.org/mailman/listinfo/gmx-users
Please search the archive at http://www.gromacs.org/search before posting!
Please don't post (un)subscribe requests to the list. Use the www interface or send it to [EMAIL PROTECTED]
Can't post? Read http://www.gromacs.org/mailing_lists/users.php

Reply via email to