[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
Re: GRE: rogue comment: IEEE 754R and Reproducibility
Thanks for your "swift" response. Comments below.
Jim Demmel
Nick Maclaren wrote:
James Demmel <demmel@xxxxxxxxxxxxxxxxx> wrote:
My multicore collaborators think that, independent of floating point,
in order to support the vast majority of programmers at the
productivity level, the system
(1) must support debugging at the productivity layer, i.e. give
the same results twice in a row from a.out, if necessary with a
performance
hit, modulo the next point:
(2) should not add nondeterminism to an otherwise deterministically
constructed program at the "productivity layer", or at least require
an explicit setting of an "allow nondeterminism if it speeds up a lot"
switch.
My question about IEEE 754R is whether there are any features that
make this (modest) level of reproducibility hard to achieve? Clearly
care must be taken to make sure operations like sum-reductions
can occur in a deterministic order if desired.
I am impressed by your "modest proposal" - you're not a descendent
of Swift, by any chance?
That might, JUST, be possible for the simpler forms of linear algebra,
but is a complete loser when you get much beyond that. Consider
linear programming, simplification of graphs, Givens and all the rest;
many of them don't HAVE a canonical order in the problem, so you have
to impose one. And then you have to define it sufficiently precisely
that two independent interpreters of it get the same order.
The goal would not be to define algorithms in such a careful way that
two different
implementers would get the same answer, rather that one version on one
machine
(running with the same number of cores and with BLAS and reductions
in "reproducibility mode" etc)
would get the same answer twice in a row. This would be a nontrivial
performance hit, and
be intended to help debugging.
That ignores the fact that associating debugging with consistency
will fix the idea in what most programmers are pleased to call their
minds that consistency and correctness are related.
We have also been asking if there are any legal requirements on
reproducibility (of the a.out-twice-in-a-row kind) that might arise
from FDA rules on medical data processing, for example, but have
not unearthed any yet.
God alone knows what those bureaucrats will demand, but I hope that
people point out to them that demanding total consistency of response
for (say) drugs would pose a few minor problems ....
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