(j3.2006) [Fwd: [Wg25-full] Fwd: [Numeric-interest] reproducible floating-point results and 754R]

Van Snyder van.snyder
Fri May 18 18:56:31 EDT 2007


On Fri, 2007-05-18 at 15:58 -0500, Bill Long wrote:
> 
> Van Snyder wrote:
> 
> >The following is from Bo Einarsson.  It was sent to the IFIP WG 2.5
> >mailing list.  It may be of interest to you.
> >
> >Van
> >
> >
> >From: David Hough 754R work <754r at ucbtest.org>
> >To: numeric-interest at ucbtest.org
> >Date: Thu, 17 May 2007 13:10:50 -0700 (PDT)
> >
> >
> >For those who have not been following 754R's progress, it's currently
> >in the sponsor ballot and review phase.      The ballot review
> >committee
> >is currently debating the issue of whether reproducible results should
> >be
> >available to programmers who want them (and are willing to pay
> >whatever
> >performance price is required).
> >
> 
> There would be two prices - the user sees bad performance, and the 
> vendor has to spend xxx man-years rewriting the guts of the optimizer to 
> conform to a specified (by whom?) set of rules on order of evaluation.  
> The number of Fortran programmers willing to pay the performance penalty 
> is, from what I see, essentially zero.  If the want bad performance, 
> there are lots of options other than Fortran.   The number of corporate 
> bean counters willing to fund a rewrite of the compiler to appeal to a 
> group of zero size is also zero.

The way Ada handled this was to provide a block in which a "strict
arithmetic" pragma has effect.  Users realize that the "strict
arithmetic" pragma might turn off optimization.

> >
> >
> >
> >The current draft of 754R is expresses its aims this way:
> >
> > For operations specified in the normative part of this standard, 
> > numerical results and exceptions are uniquely determined by the
> >values of the 
> > input data, the operation, and the destination, all under user
> >control.
> >
> 
> This basically says that if the hardware is conforming and the user 
> writes in assembly language (where the operations are "under user 
> control") then the answers are predictable.  I can buy that.
> 
> >
> > Together with language controls it should be possible to write
> >programs 
> > that produce identical results on all conforming systems.
> >
> >There is some sentiment that this language should be removed, although
> >it
> >was part of the 754R working group's charter from the IEEE.
> >
> >  
> >
> 
> As long as the text says "should be possible" is really requires 
> nothing.  Thus it is harmless (and can be left in), but is also useless 
> (and should be removed).  Given this committee's proven inability to 
> make a decision on even the basic point of the revision, this wording is 
> not unexpected.
> 
> If, as is suggested in one of the referenced html files, the "should" is 
> changed to "shall" then the sentence is unacceptable.  The "identical 
> results" desired are too context dependent.  In most cases that I see, 
> the definition of the "correct" result is whatever the IBM 
> compiler-generated executable, with that particular user's choice of 
> optimizations, produces on an SPx system.  If a vendor changes their 
> compiler to conform, then the results are different from those of their 
> own previous compiler version, irking a different set of users.    This 
> is an issue for negotiation between the vendors and customers, not the 
> language standard.  You can see some effects of this already.  For 
> example, the use of the 80-bit floating point registers on Intel/AMD 
> chips is essentially dead on modern systems - the new ABI rules it out - 
> because they are not conforming to the 64-bit IEEE standard.  As far as 
> I can see, this was entirely because users would not tolerate the 
> "wrong" (see above definition of "correct") answers produced by the old 
> Intel ABI. 
> 
> In the second of the html files, that author pointed out a long list of 
> reasons why 754r should be disapproved.  Given that the committee could 
> not even decide on a decimal format (one of the issues noted in the 
> file), I agree with him that disapproval is the best option. 
> 
> 
> Cheers,
> Bill
> 
> >
> >
> >
> >I have written some arguments in favor of requiring conforming 
> >implementations to provide means to obtain reproducible results at
> >
> > http://754r.ucbtest.org/msc-ballots/repro.html
> >
> >I welcome comments from language designers and mathematical software
> >programmers.     They could also be sent to Bob Davis, bob at scsi.com,
> >chair of the IEEE MSC which chartered 754R.
> >
> >
> >
> >
> >My other commentary on 754R ballot reviews is at
> >
> > http://754r.ucbtest.org/msc-ballots/ballot3.html
> >
> >and encompasses other issues beyond reproducibility.
> >
> >_______________________________________________
> >Numeric-interest mailing list
> >Numeric-interest at ucbtest.org
> >http://mailman.oakapple.net/mailman/listinfo/numeric-interest
> >_______________________________________________
> >Wg25-full mailing list
> >Wg25-full at lists.nsc.liu.se
> >http://www.nsc.liu.se/mailman/listinfo/wg25-full
> >
> >_______________________________________________
> >J3 mailing list
> >J3 at j3-fortran.org
> >http://j3-fortran.org/mailman/listinfo/j3
> >  
> >
> 



More information about the J3 mailing list