[gmx-developers] innerloop code

Erik Lindahl lindahl at cbr.su.se
Mon Sep 4 09:26:26 CEST 2006


HI Chenyue,

On Sep 3, 2006, at 1:39 AM, Chenyue Xing wrote:

> Hi David,
>
> Thank you for your quick reply.
> I tried setenv and compared 2 simulations with exactly the same  
> initial structure and parameters (one w/ NOASSEMBLYLOOPS, one w/o it)
> But the results seem to be different. Is this normal?
>

To compare different loops or architectures, try running a single  
step and enable output of forces (use gmxcheck to compare them).

There are multiple reasons for differences. First, the SSE code is  
performed entirely in 32 bit, modern compilers optimized for Pentium4  
and later mix 32 bit SSE and 64 bit SSE2 code, and old portable 387  
code is 80 bits internally, 64/32 bits externally.

Depending on the order of operations generated by the compiler the  
rounding errors will be different, and since MD is intrinsically a  
chaotic process the trajectories will diverge exponentially with the  
number of steps. This is quite OK, since we are reproducing  
statistical properties and not trajectories of individual atoms.

>
> Also, if I have assemblyloops enabled (not setting noassemblyloops  
> 1), can I actually find those assembly codes to read?
>

src/gmxlib/nonbonded/<architecture>

Cheers,

Erik







More information about the gromacs.org_gmx-developers mailing list