[Users] Test failures

Ian Hinder ian.hinder at aei.mpg.de
Wed Nov 13 17:55:57 CST 2013


On 7 Nov 2013, at 20:36, Frank Löffler <knarf at cct.lsu.edu> wrote:

> Hi
> 
> So far, Ian ran tests on datura and I ran the testsuites, on my
> workstation. The gcc build shows no failures at all, but the intel suite
> shows 9, but in part different than the one on datura.
> 
> http://einsteintoolkit.org/release-info/parse_testsuite_results.php
> 
> In the following I try to give a short summary of some of the failures:
> 
> Exact/KS-tilted fails on my workstation. This has always been a fragile
> test.

This is likely due to the Exact thorn.  It also fails on Stampede.  I have added an EinsteinExact version of this test, and this passes on my laptop, on datura, and on stampede.  I propose we remove the Exact version of this test, since the tested functionality is available in EinsteinExact, and Exact is anything but…

> Some of the RotatingSymmetry180/90 testsuites fail on my workstation,
> due to tolerance, as suggested by the results. These are the Kerr
> testsuites, and at the same time the corresponding Kerr-EE suites
> succeed, suggesting a similar issue as with other Exact testsuites:
> insufficient accuracy of the initial data itself - or in other words a
> tolerance problem.
> 
> So, in short: apart from a hydro problem on datura we see the 'usual'
> Exact-related problems, a failure in balsara4_1d and in the testsuites
> of Multipole.
> 
> However, we need more results. Please test other machines as well! 

Is your workstation optionlist in simfactory? What optimisation settings are you using?

The following tests:

    E2xeon_test_rdbh (from RotatingDBHIVP)
    Kerr (from RotatingSymmetry180)
    Kerr-rotating-180 (from RotatingSymmetry180)
    Kerr-rotating-90 (from RotatingSymmetry90)

pass on stampede if I replace

	-Ofast

with

	-O3

-Ofast expands to -O3 -no-prec-div. -no-prec-div allows the compiler to replace x/y with x * (1/y) for speed reasons.  This is advertised as potentially being less accurate, as opposed to just being different at the floating point level:

>        -prec-div
>        -no-prec-div
>               Improves precision of floating-point divides.
> 
>               Architectures: All
> 
>               Arguments:
> 
>               None
> 
>               Default:
> 
>               -prec-div         The compiler uses this method for floating-point divides.
> 
>               Description:
> 
>               This option improves precision of floating-point divides. It has a slight impact on speed.
> 
>               With  some  optimizations,  such  as  -msse2  (Linux* OS) or /arch:SSE2 (Windows* OS), the compiler may change float-
>               ing-point division computations into multiplication by the reciprocal of the denominator. For example,  A/B  is  com-
>               puted as A * (1/B) to improve the speed of the computation.
> 
>               However,  sometimes  the  value  produced by this transformation is not as accurate as full IEEE division. When it is
>               important to have fully precise IEEE division, use this option to disable the floating-point  division-to-multiplica-
>               tion optimization. The result is more accurate, with some loss of performance.
> 
>               If  you  specify  -no-prec-div (Linux* OS and OS X*) or /Qprec-div- (Windows* OS), it enables optimizations that give
>               slightly less precise results than full IEEE division.
> 

Looking through the optionlists, we very rarely use this.  -Ofast is used only in these cases:

simfactory/mdb/optionlists/bluewaters-gnu.cfg:CXX_OPTIMISE_FLAGS  = -Ofast -funroll-loops
simfactory/mdb/optionlists/compute-intel.cfg:CXX_OPTIMISE_FLAGS  = -Ofast
simfactory/mdb/optionlists/compute.cfg:CXX_OPTIMISE_FLAGS  = -Ofast -funsafe-loop-optimizations
simfactory/mdb/optionlists/hopper-intel.cfg:CXX_OPTIMISE_FLAGS = -Ofast
simfactory/mdb/optionlists/stampede-hybrid-mic.cfg:CXX_OPTIMISE_FLAGS = -Ofast
simfactory/mdb/optionlists/stampede-hybrid.cfg:CXX_OPTIMISE_FLAGS = -Ofast
simfactory/mdb/optionlists/stampede-mic.cfg:CXX_OPTIMISE_FLAGS = -Ofast
simfactory/mdb/optionlists/titan-intel.cfg:CXX_OPTIMISE_FLAGS  = -Ofast

I suggest that for the release, we replace -Ofast with -O3 in the above machines, and make sure we don't use -no-prec-div.  

After the release, I think we should come up with a standard set of optimisation settings that we use for all machines.  If there is a good reason to choose something else for a specific machine, then fine, but this should be documented in the optionlist; I expect that the choices at the moment are fairly arbitrary.

The tolerance in one case would have to have been increased from the Cactus default 1e-12 to 1e-8 for the test to pass with -Ofast.

-- 
Ian Hinder
http://numrel.aei.mpg.de/people/hinder

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 203 bytes
Desc: Message signed with OpenPGP using GPGMail
Url : http://lists.einsteintoolkit.org/pipermail/users/attachments/20131114/cf6fa6e9/attachment.bin 


More information about the Users mailing list