On Thu, Jun 17, 2010 at 12:35:20AM +0200, Ian Hinder wrote:
and if you do that, the test suites pass with "files identical" with 1, 2 and 8 threads on my laptop. So this confirms that the problem comes from a behaviour of the compiler, and not from a problem in the code. Of course we would like to test the compiler settings we actually use in production, and the above settings probably cause a significant loss of optimisation.
We should investigate how much this really influences performance and I tend towards using the more accurate versions if the runtime does not increase by to much.
Is it right to set the tolerance on what we observe, rather than on what we conclude we should expect? It feels a bit like cheating to me.
That is what I tried to say. I expect differences of that level if there are differences in the metric on a lower level. I didn't talk about single cpu vs. smp, but rather just reordering terms in equations, mathematically correct but numerically different. If this happens to the metric and you loose some digits there due to cancelations, this can only be amplified in the curvature and quantities like the constraints or psi4. This way even roundoff can amplify above the standard 1.e-12 absolute error tolerance.
Frank