AMBER Archive (2003)

Subject: Re: AMBER: sander on cygwin

From: David E. Konerding DSD Staff (dek_at_george.lbl.gov)
Date: Mon Sep 15 2003 - 16:21:57 CDT


David A. Case wrote:

>On Mon, Sep 15, 2003, David E. Konerding DSD Staff wrote:
>
>
>>From time to time, I compile sander under cygwin to test it out.
>>
>>It runs just fine for me (I basically just use the defaults) *except* that I
>>get a lot of numerical instability. I've confirmed this sort of behavior
>>with other programs as well- the cygwin-provided Python tends to produce
>>very weird numbers (even when just using basic operations like +, *, /).
>>
>>I think they are doing something wrong with the Intel floating point control
>>words somewhere and the FP register stack is being corrupted. I would
>>strongly avoid using cygwin to compile sander unless you are willing to
>>debug this sort of problem (I am not).
>>
>>
>>
>
>This is a surprise to me, since I use cygwin a lot, both for code development
>and for actual runs, and I have not seen this sort of behavior.
>
>Does sander pass all of the tests for you? Are any of the errors
>reproducible? Do you know that gcc on cygwin does something different with
>FP registers, etc, than gcc on Linux would do? I would have thought that
>identical assembly code would be generated....
>
>
>

I didn't try the tests. I was running minimizations, and somtimes after
about 50 steps all the numbers went wacky. This was highly
non-reproducible between runs(!) and didn't happen on linux with the
same input file.

Ideally, all the assembly within functions is going to be the same. The
problem is what gets done by the operating system and by the
compiler on a per-OS level. For example, the control word sometimes
gets changed by the compiler when entering functions that require
higher or lower precision as determined by compilation flags (such as
-ffast-math) and it's possible there is some funky interaction between
that code and the OS-level code which saves and restores the FP register
(I'm just guessing here). Ultimately, I gave up trying to figure out
what was wrong with cygwin. I guess you're lucky in that you don't see
problems- there are a lot of variables here including OS version (I'm
running Windows XP) and architecture (AMD Athlon 2000+).

Dave

>..dac
>
>
>

-----------------------------------------------------------------------
The AMBER Mail Reflector
To post, send mail to amber_at_scripps.edu
To unsubscribe, send "unsubscribe amber" to majordomo_at_scripps.edu