[Users] McLachlan test suite

Ian Hinder ian.hinder at aei.mpg.de
Wed Jun 16 17:35:20 CDT 2010


On 16 Jun 2010, at 20:26, Frank Loeffler wrote:

> On Wed, Jun 16, 2010 at 04:11:20PM +0200, Ian Hinder wrote:
>> I have removed output for the reduction, but I now get differences
>> above tolerance in the Hamiltonian constraint:
>
> I see the same, for OMP_NUM_THREADS=1 and two mpi processes. That  
> level
> or errors in the constraint is probably to be expected and we should
> increase the tolerance value for those variables.

I was thinking, very naively, that since the Hamiltonian constraint  
contains 2nd derivatives of the metric, when dividing by dx^2, we  
would expect the roundoff errors to be amplified by about two orders  
of magnitude.  So if we are just barely meeting the default 1e-11  
Cactus tolerance in the evolved variables, then the constraints might  
be worse.  But I don't really understand this.

However, I have just tried using the Intel compiler options "-fp-model  
precise -fp-model source" as recommended by Intel if you want  
reproducibility of floating point computations,

	http://software.intel.com/en-us/articles/consistency-of-floating-point-results-using-the-intel-compiler/

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.

> However, we currently
> cannot do that on a per variable-basis and cannot implement and test
> this to be ready for the release. Thus, I suggest to split the  
> testsuite
> for the moment into two almost identical suites, one generating only  
> the
> contraint output, and one generating all other output. Those two can
> then have different tolerance levels. Once we implemented something in
> Cactus which can set the tolerance on a per-file basis, we could  
> combine
> those again.


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.

-- 
Ian Hinder
ian.hinder at aei.mpg.de



More information about the Users mailing list