Re: fwd from Jim Demmel: More on repeatability
On Aug 5 2011, Arnold Neumaier wrote:
It makes sense to require repeatability on the same machine. I expect
thst, too, for debugging purposes.
That's unclear. We are moving back into a world of coprocessors, and it
is worth learning from the experience of when we were there before.
The problem arises when they are a shared resource, and the compiled
code may reasonably check whether they are available, dynamically. In
that case, even a single high-level language operation may be executed on
different 'CPUs' in two iterations of the same loop and that may give
subtly different results. AMD's Bulldozer, Intel's multi-core whatsit
and several other systems are like that.
This arose informally in WG5, and we (being Old Guard) shrugged our
shoulders and said "been there - done that - Fortran allows it and needs
no change". God alone knows what other third-generation languages will
make of it. Run in circles, scream and shout, probably :-)
But the prior discussion was about repeatability across platforms, which
can hardly be guaranteed without specifying exactly the requires result
of each operation (including rounding errors), and hence is an
unreasonable requirement.
Yes.
Regards,
Nick Maclaren.