[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
Re: pitfalls of verifying floating-point computations
David Monniaux <David.Monniaux@xxxxxx> wrote:
I'm the author of the paper that you're discussing. :-)
I apologise if I was a bit rude - I have been beating my head against
this delusion (and it IS a delusion) for 25 years, with no success.
It seems that it was my misunderstanding to believe that you shared
it.
Depending on the industry, and the locale, some of the critical systems
are written with synchronous programming languages, a simplified view of
which is a program that takes streams of inputs, with one vector of
inputs per clock tick, and produces streams of outputs. There are no
unserializerd event streams and no parallel code. These kind of
synchronous systems are prized for their predictibility, because a given
sequence of inputs should always produce the same sequence of outputs.
Yes, I agree. Where it is possible, and meaningful, it can be
very useful to have predictability. I am not sure that it is
desirable, but let's skip that.
In addition, even in systems with parallel code, unserialized inputs
etc., there are generally library portions (e.g. numerical algorithms)
that can be analyzed independently of i/o and parallelism.
Yes, again, except that it applies only to some numerical algorithms,
though (as I said elsewhere) it applies to most of the SIMD ones.
The thing is, most people in the industry are not aware of these kinds
of issues. It is one thing to discuss "well known" problems between
specialists, but what good is it if people in the general industry
believe things work in a way that they do not?
That is what I have been beating my head against :-( FAR too many
computer scientists propagate myths, which are known to be wrong
(both mathematically and as engineering) but are easy to teach.
And this is one.
So, I do not think I am deluded in suggesting that computations should
be reproducible independently of whether or not somebody inserted a
printf() in the code. :-)
No, that's not my point, and I didn't read that as your main target
in that paper. I read your paper as saying that reproducibility is
a desirable GENERAL objective (i.e. for arbitrary parallel programs),
and I am asserting that it isn't - because it isn't deliverable.
If you are referring only to lockstep programs with deterministic
input, then I agree with you (I mentioned BSP as a possible paradigm
for reproducibility). In which case, I misunderstood your paper
and apologise for that.
Regards,
Nick Maclaren,
University of Cambridge Computing Service,
New Museums Site, Pembroke Street, Cambridge CB2 3QH, England.
Email: nmm1@xxxxxxxxx
Tel.: +44 1223 334761 Fax: +44 1223 334679