Konrad Hinsen skrev 2014-02-27 10.36:
Lars Hellström writes:

  >  preprocess expressions accordingly, should they feel like doing so. So the
  >  little lie involved is rather "I lie when I say this floating-point
  >  operation really is addition, but the error is negligible, and you know 
what
  >  I mean anyway." Besides, if you express something scientific, I suspect you

That's fine for many applications, but the non-associativity of
floating-point addition is sometimes a real problem, in particular
when program writers happily ignored it. See
http://dx.doi.org/10.1109/MCSE.2011.21 for a real-life story about a
program that produces different results depending on the number of
processors it runs on (due to dependence on summation order), with the
differences being so important that they change the interpretation of
the results.

That's a curious interpretation of the situation described in that paper (even if it may reflect the opinion of the author of said paper).

Basically the concern is that, _in a situation where accumulated arithmetic rounding error is as big as the quantity you want to compute_, the output of a multithreaded program is not always the same. So what? If you're prepared to make decisions based on noise rather than signal (like newspaper journalists seem prone to when reporting the results of opinion polls), then how much does it matter if that noise is determinstic pseudorandom or has a small indeterministic factor mixed in? Either way, the decision is unfounded! I'd agree with the comment near the end that

 "Thus, there’s no reason to believe that any of the program’s
  results are indeed the exact solution [...]. In this sense,
  nonreproducible results actually have a certain “instructional”
  effect because they prevent the user from thinking, “If the
  computer always gives me the same result then this must be the
  true exact solution.”"

Users should be more disturbed by their results being inaccurate than by those inaccuracies not being fully reproducible.

Also, didn't you state that you are now at the stage of formulating models? Surely it should be the responsibility of an implementation to accurately implement a model defined with respect to exact arithmetic, rather than of the model to record all quirks that may turn up in an implementation.

Lars Hellström

_______________________________________________
Om mailing list
[email protected]
http://openmath.org/mailman/listinfo/om

Reply via email to