Does anyone understand why we use the flags we do for Intel compilers?
For sander, we have -ip -O3 -axSTPW; for pmemd, it is -ipo -O3 -no-prec-div
-xP. Is there a good reason for the difference?
For me, with intel compiler 10.1, pmemd with the default install creates
an unusable executable ("Fatal Error: This program was not built to run
on the processor in your system. The allowed processors are: Intel(R)
Pentium(R) 4 and compatible Intel processors with Streaming SIMD
Extensions 3 (SSE3) instruction support.)
Rather oddly(?), pmemd.amoeba, which seems to be compiled with the same
options, is OK. (Code for pmemd.amoeba has changed very little from Amber
11).
If I change -xP to -axP, pmemd is fine for ifort 10.1.
So: why are sander optimizations different than pmemd? Are we somewhere near
optimal? Do users really need to learn the ins and outs of SSE_TYPES? What
is the best thing to do for pmemd on ifort 10? (e.g. would changing -xP to
-axP do harm on ifort 11 or 12?)
...thx...dac
_______________________________________________
AMBER-Developers mailing list
AMBER-Developers.ambermd.org
http://lists.ambermd.org/mailman/listinfo/amber-developers
Received on Sun Mar 18 2012 - 06:00:04 PDT