help-gsl
[Top][All Lists]
Advanced

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

[Help-gsl] Strange Issue with ODE2


From: Brian Gladman
Subject: [Help-gsl] Strange Issue with ODE2
Date: Fri, 23 Jun 2017 17:07:53 +0100
User-agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.8.0

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]