[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: New articles about IEEE 754 arithmetic



Note that the "Wonglediff" program described in the second cite will not work in present 754-R. It depends on the rounding mode of a thread or process being changed by a parallel thread or process at random points of execution, which has now (correctly) been precluded by a requirement that all possible mode change points be statically visible by inspection.

There is no kludge in a standard but that someone can find a way to exploit it :-)

Ivan

Nelson H. F. Beebe wrote:

It isn't common to find articles on IEEE 754 arithmetic outside the
IEEE Computer Arithmetic conferences, but below are two new ones that
may be of interest to list members.  The lead author of the second one
is a well-known GNU software developer and expert.

Online PDF versions are available at institutions with journal
subscriptions; although our library no longer gets paper copies of
this journal, I was able to get electronic copies this morning.
Otherwise, interlibrary loan is available even through local and
community libraries.

@String{j-SPE                   = "Soft\-ware\emdash Prac\-tice and Experience"}

@Article{Ogasawara:2004:OPO,
 author =       "Takeshi Ogasawara and Hideaki Komatsu and Toshio
                Nakatani",
 title =        "Optimizing precision overhead for x86 processors",
 journal =      j-SPE,
 volume =       "34",
 number =       "9",
 pages =        "875--893",
 day =          "25",
 month =        jul,
 year =         "2004",
 CODEN =        "SPEXBL",
 ISSN =         "0038-0644",
 bibdate =      "Sat Apr 16 07:26:31 MDT 2005",
 bibsource =    "http://www.interscience.wiley.com/jpages/0038-0644;
                http://www3.interscience.wiley.com/journalfinder.html";,
 abstract =     "It is a major challenge for a Java JIT compiler to
                perform single-precision floating-point operations
                efficiently for the x86 processors. In previous
                research, the double-precision mode is set as the
                default precision mode when methods are invoked.
                Sophisticated approaches then use heuristic approaches
                to optimization by considering the trade-offs between
                roundings and mode switches. However, this convention
                introduces redundant mode switches across method
                boundaries. Furthermore, methods that include both
                single- and double-precision operations cannot switch
                the mode, even if single-precision operations are
                dominant. We propose a new approach to these problems.
                We eliminate redundant mode switches by ignoring the
                default precision mode and calling a method in the same
                precision mode as the caller. For methods that include
                both single- and double-precision methods, we reduce
                the overhead of rounding by isolating code segments of
                a given method that should be executed in the
                single-precision mode. We implemented our approach in
                IBM's Just-in-Time compiler, and obtained experimental
                results demonstrating that, in SPECjvm98, it
                consistently shows the best performance in any
                configuration of benchmark programs, inline policies,
                and processor architectures compared with previous
                research approaches.",
 acknowledgement = ack-nhfb,
 DOI =          "10.1002/spe.596",
 keywords =     "floating-point operations; Java; precision control;
                x86 processors",
 onlinedate =   "27 Apr 2004",
}

@Article{Eggert:2005:PEN,
 author =       "P. R. Eggert and D. S. Parker",
 title =        "Perturbing and evaluating numerical programs without
                recompilation --- the wonglediff way",
 journal =      j-SPE,
 volume =       "35",
 number =       "4",
 pages =        "313--322",
 day =          "10",
 month =        apr,
 year =         "2005",
 CODEN =        "SPEXBL",
 ISSN =         "0038-0644",
 bibdate =      "Sat Apr 16 07:26:37 MDT 2005",
 bibsource =    "http://www.interscience.wiley.com/jpages/0038-0644;
                http://www3.interscience.wiley.com/journalfinder.html";,
 abstract =     "wonglediff is a program that tests the sensitivity of
                arbitrary program executables or processes to changes
                that are introduced by a process that runs in parallel.
                On Unix and Linux kernels, wonglediff creates a
                supervisor process that runs applications and, on the
                fly, introduces desired changes to their process state.
                When execution terminates, it then summarizes the
                resulting changes in the output files. The technique
                employed has a variety of uses. This paper describes an
                implementation of wonglediff that checks the
                sensitivity of programs to random changes in the
                floating-point rounding modes. It runs a program
                several times, wongling it each time: randomly toggling
                the IEEE-754 rounding mode of the program as it
                executes. By comparing the resulting output, one gets a
                poor man's numerical stability analysis for the
                program. Although the analysis does not give any kind
                of guarantee about a program's stability, it can reveal
                genuine instability, and it does serve as a
                particularly useful and revealing idiot light. In our
                implementation, differences among the output files from
                the program's multiple runs are summarized in a report.
                This report is in fact an HTML version of the output
                file, with inline mark-up summarizing individual
                differences among the multiple instances. When viewed
                with a browser, the differences can be highlighted or
                rendered in many different ways.",
 acknowledgement = ack-nhfb,
 DOI =          "10.1002/spe.637",
 keywords =     "diff; IEEE-754 floating point arithmetic; numerical
                instability checking; random rounding; rounding modes;
                sensitivity analysis",
 onlinedate =   "21 Dec 2004",
}

-------------------------------------------------------------------------------
- Nelson H. F. Beebe                    Tel: +1 801 581 5254                  -
- University of Utah                    FAX: +1 801 581 4148                  -
- Department of Mathematics, 110 LCB    Internet e-mail: beebe@xxxxxxxxxxxxx  -
- 155 S 1400 E RM 233                       beebe@xxxxxxx  beebe@xxxxxxxxxxxx -
- Salt Lake City, UT 84112-0090, USA    URL: http://www.math.utah.edu/~beebe  -
-------------------------------------------------------------------------------





754 | revision | FAQ | references | list archive