help-gsl
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Help-gsl] Strange Issue with ODE2


From: ƦOB COASTN
Subject: Re: [Help-gsl] Strange Issue with ODE2
Date: Fri, 23 Jun 2017 12:19:56 -0400

Greetings Brian,

It is surprising that identical binary [producing the failing Skylake
test] when executed on a
Nehalem system passed the ode2 test.

The binary might reference instruction extensions that operate
inconsistently regarding Skylake and Nehalem architectures.

The msvc floating point behavior contains command line specification option:
https://docs.microsoft.com/en-us/cpp/build/reference/fp-specify-floating-point-behavior

We have options for precise | except | fast | strict.
Perhaps there exists a combination that produces consistent ODE2 results?

Any thoughts?

Thanks,
Rob


On Fri, Jun 23, 2017 at 12:07 PM, Brian Gladman <address@hidden> wrote:
> When building GSL with Visual Studio 2015 or 2017 on my Skylake system
> the ode2 test fails with the result:
>
> FAIL: bsimp/rk4imp robertson [1] (4.80016693154134428e-07 observed vs
> 4.8006653093199183e-07 expected) [1119]
>
> This is odd since the ode2 code hasn't changed in years and it has
> always worked with previous versions of Visual Studio.
>
> In order to try and find the problem, I have been comparing the results
> produced using Visual Studio 2012 on my Nehalem system with those on
> Skylake with Visual Studio 2017.
>
> But this is proving very difficult because the floating point results
> don't compare exactly and just drift slowly apart as the number of steps
> in the solver increase.  This seemed to suggest that the issue is the
> result of differences in the floating point code being generated by the
> earlier and later Microsoft compilers.
>
> Or, that is what I thought after a lot of fruitless effort in trying and
> failing to find the bug.
>
> But yesterday I just happened to run the failing Skylake binary on my
> Nehalem system and was very surprised to find that it passed the ode2
> test!
>
> So a Visual Studio 2017 built ode2 test binary (linked to a GSL static
> library and static MSVC runtime libraries) produces different results
> when run on Nehalem and Skylake processors.
>
> Maybe I am being naive but I wasn't expecting this.  Can anyone here
> suggest what might be going on here?
>
>    best regards,
>
>      Brian
>
>



reply via email to

[Prev in Thread] Current Thread [Next in Thread]