[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