On Thu, Nov 14, 2013 at 11:00:29AM +0100, Ian Hinder wrote:
Why not before the release? It is distracting to have certain tests which fail on some machines; since we know the reason for the failures, and there are other tests which test equivalent functionality, I think we should simplify the testing process and eliminate the Exact tests which are failing for which we have EinsteinExact versions.
I agree that this would be good, and was the intention when creating the EinsteinExact tests. However, usually a change like this should be at least mentioned on one of the calls and it's a bit late for that now with the release in mind. If we will be not releasing this week (still waiting for the hydro testsuites) and nobody speaks up here we can remove them. Not all of the failing suites have an EE counterpart though.
With some optimizations, such as -msse2 (Linux* OS) or /arch:SSE2 (Windows* OS), the compiler may change floating-point division computations into multiplication by the reciprocal of the denominator. For example, A/B is computed as A * (1/B) to improve the speed of the computation.
I found this section of the manual page very confusing, but in the end interpreted it differently; i.e. that this would happen with -no-prec-div but not with -prec-div. -prec-div is the default, and it would be very odd for the compiler to make these changes when -prec-div was set. Can you try running one of the tests with -prec-div and with -no-prec-div to check which is being used? There should also be a compiler option to output the effective flags that are being used.
I think -xHost should be fine, and is probably the best way to choose the CPU-specific optimisations; I don't think it changes the numerical results (but compilers can always surprise us!).
I interpreted this exactly like you said you don't: -xHost might enable sse2 and -msse2 might end up using inexact devisions, overwriting the default of -prec-div.
Frank