Thread Links Date Links
Thread Prev Thread Next Thread Index Date Prev Date Next Date Index

Re: fwd from Jim Demmel: More on repeatability



On Aug 17 2011, Vincent Lefevre wrote:
On 2011-08-05 15:45:37 +0200, Arnold Neumaier wrote:

It makes sense to require that there is a (possibly a little slower)
repeatable mode on the same machine. I expect that, too, for debugging
purposes.

IMHO, this should be done only by specifying the full behavior, possibly
depending on well-identified platform-dependent parameters. Otherwise it
may be tricky to define "repeatable mode" and "same machine" (e.g. what
if the machine is upgraded[*], some environment variables are changed,
and so on?)

Once you do that for any non-trivial operation, you are forbidding any
improvements in the future.  State of the art today may be one result,
but someone may develop an improvement.  This is precisely what happened
with IBM's Fortran libraries in the 1970s, where the objective of exact
compatibility meant that seriously inaccurate functions remained in the
products for over a decade after IBM had uniformly better replacements.

I used IBM as an example, but it wasn't the only such vendor, and nor
did this problem stop with the demise of mainframes and the rise of
IEEE 754.  Once an implementation defect is specified in an established
standard, it is impossible to get fixed - and I know, because I have
tried, several times.

The most extreme example I know of is the specification of the shift
operators in most programming languages, which is an artifact of the
restrictions of discrete-logic hardware (remember it?), and is STILL
around!

Regards,
Nick Maclaren.