Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.arch > #6574

Re: Indirect Bit

From MitchAlsup <MitchAlsup@aol.com>
Newsgroups comp.arch
Subject Re: Indirect Bit
Date 2012-04-18 15:33 -0700
Organization http://groups.google.com
Message-ID <2274247.765.1334788401571.JavaMail.geo-discussion-forums@yncd8> (permalink)
References (1 earlier) <6799b00c-7c9e-4f0c-9a97-3994c3d81b5f@x17g2000vba.googlegroups.com> <jmbvbo$cu3$1@needham.csi.cam.ac.uk> <1454560.470.1334600502251.JavaMail.geo-discussion-forums@ynbi17> <jmhor8$7pi$1@needham.csi.cam.ac.uk> <b992445b-d51c-4c5b-acb2-2ffcd5b4e7db@t7g2000pbp.googlegroups.com>

Show all headers | View raw


On Wednesday, April 18, 2012 1:17:08 PM UTC-5, Quadibloc wrote:
> On Apr 16, 12:36 pm, n...@cam.ac.uk wrote:
> > In article <1454560.470.1334600502251.JavaMail.geo-discussion-forums@ynbi17>,
> > MitchAlsup  <MitchAl...@aol.com> wrote:
> >
> > >Then reading Kahan's work on the dangers of allowing compilers to do
> > >anything with floating point optimizations sends chills down ones
> > >spine.
> >
> > I belong to a different, and more traditional, sect - Fortran does
> > precisely that, and 50+ years of experience has shown how well it
> > works.  You MUST NOT think of floating-point results as points,
> > but as representatives of sets/intervals/distributions/fuzzes/....
> 
> Certain floating-point optimizations are legitimate; others are not,
> because they would result in massive loss of precision under some
> circumstances. In general, compiler writers do know which is which,
> and only perform legitimate optimizations when working with floating-
> point.

It is MUCH worse than this. Subtle rearrangements can cause a rounding
error that then propogates up to the point where all accuracy is lost.
Much of the time, the programmer will be completely unaware until a
particular set of data presents the problem to the user; EVEN if that
programmer is COMPLETELY aware of the dangers and inadequacies of 754
floating point.

What is even worse, is that subtle optimization of floating point codes
can render the "additions" of 754 inadequate to deal with the problems
at hand. Those additions are qradual underflow, default results from
invalid operations/operands, and NANs which basically no compiler writer
understands sufficiently to attemp proper optimization of FP codes.

For example: one cannot take:

     IF( x < Y ) THEN Q = Z ELSE Q = F

and convert it into:

     IF( x >= Y ) THEN Q = F ELSE Q = Z

Beacuse of the mere existence of NANs. The presence of a NAN will render
different assignments to Q ! This is because NANs cannot be compared! 
The first example, a NAN will cause Q = F while in the second a NAN will
cause Q = Z !!!

{I've been boning up on old Kahan literature in the last couple of days}
 
> It should be noted, though, that the IEEE 754 standard has been useful
> in improving the quality of computer floating-point arithmetic - and
> it is founded on the premise that we should start thinking of floating
> point numbers as having exact values, and aiming for the closest
> possible result in a computation.

It is this higher quality of arithmetic that has made programmers overly
comfortable with the quality so as to assume that FP has become benign
and rather useable. Yet various stories return time and time again as to
how this is not so (ususlly bad stories--USS Yorktown, Ariane 5,...)

> The cost of doing this, though, even just for division, can be
> inordinate. For transcendental functions (except square root), the
> standard forbears to ask for the impossible.

Au contraire: Rather easy to do with a CORDIC unit (which also solves 
the REM problem of 754).

But CORDIC is too slow, they say! Compared to computing SINE with a
polynomial--not so much. Compared to DIV with CORDIC yes definately.
So the moral should have been--do in hardware what should be done in
hardware, and do in software what shold be done in software. That is
one has a FP ADDER that does add, sub, compare, move,... : one has
a multiplier that does mult (and possibly DIV, or a SRT divider that 
does DIV, REM). But this aleviates no-one from having a CORDIC unit
somewhere in the FP mass of logic.

I remember the Athlon/Opteron FP x87/SSE multiplier. That unit had 
the requisite amount of adders and multiplexers to do CORDIC functions 
so all that was missing were the tables to drive the CORDIC algorithms.
Note, those adders were 131-bits long, BTW.

Mitch

Back to comp.arch | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

Indirect Bit Mark Thorson <nospam@sonic.net> - 2012-04-10 19:31 -0800
  Re: Indirect Bit Robert Wessel <robertwessel2@yahoo.com> - 2012-04-11 01:29 -0500
    Re: Indirect Bit sarr.blumson@alum.dartmouth.org - 2012-04-11 14:48 +0000
      Re: Indirect Bit mac <acolvin@efunct.com> - 2012-04-12 14:43 +0000
    Re: Indirect Bit Morten Reistad <first@last.name> - 2012-04-22 15:19 +0200
      Re: Indirect Bit "Andy (Super) Glew" <andy@SPAM.comp-arch.net> - 2012-04-22 23:24 -0700
  Re: Indirect Bit Terje Mathisen <"terje.mathisen at tmsw.no"> - 2012-04-11 08:32 +0200
    Re: Indirect Bit Michael S <already5chosen@yahoo.com> - 2012-04-11 05:49 -0700
      Re: Indirect Bit "Andy (Super) Glew" <andy@SPAM.comp-arch.net> - 2012-04-12 21:22 -0700
        Re: Indirect Bit "Paul A. Clayton" <paaronclayton@gmail.com> - 2012-04-13 08:14 -0700
          Re: Indirect Bit Quadibloc <jsavard@ecn.ab.ca> - 2012-04-13 16:13 -0700
            Re: Indirect Bit "Paul A. Clayton" <paaronclayton@gmail.com> - 2012-04-13 20:01 -0700
              Re: Indirect Bit Andrew Reilly <areilly.---@bigpond.net.au> - 2012-04-14 03:16 +0000
                Re: Indirect Bit "Paul A. Clayton" <paaronclayton@gmail.com> - 2012-04-14 08:14 -0700
        Re: Indirect Bit Quadibloc <jsavard@ecn.ab.ca> - 2012-04-13 16:05 -0700
          Re: Indirect Bit MitchAlsup <MitchAlsup@aol.com> - 2012-04-13 17:01 -0700
            Re: Indirect Bit Quadibloc <jsavard@ecn.ab.ca> - 2012-04-14 13:49 -0700
          Re: Indirect Bit Anne & Lynn Wheeler <lynn@garlic.com> - 2012-04-13 20:07 -0400
          Re: Indirect Bit Terje Mathisen <"terje.mathisen at tmsw.no"> - 2012-04-14 18:47 +0200
          Re: Indirect Bit Morten Reistad <first@last.name> - 2012-04-22 15:26 +0200
            Re: Indirect Bit "Andy (Super) Glew" <andy@SPAM.comp-arch.net> - 2012-04-22 23:25 -0700
              Re: Indirect Bit nmm1@cam.ac.uk - 2012-04-23 09:18 +0100
                Re: Indirect Bit EricP <ThatWouldBeTelling@thevillage.com> - 2012-04-23 19:35 -0400
                Re: Indirect Bit nmm1@cam.ac.uk - 2012-04-24 08:37 +0100
                Re: Indirect Bit nmm1@cam.ac.uk - 2012-04-24 09:42 +0100
                Re: Indirect Bit Michael S <already5chosen@yahoo.com> - 2012-04-24 01:58 -0700
                Re: Indirect Bit nmm1@cam.ac.uk - 2012-04-24 11:26 +0100
                Re: Indirect Bit Michael S <already5chosen@yahoo.com> - 2012-04-24 05:02 -0700
                Re: Indirect Bit nmm1@cam.ac.uk - 2012-04-24 13:58 +0100
                Re: Indirect Bit Michael S <already5chosen@yahoo.com> - 2012-04-24 10:07 -0700
                Re: Indirect Bit Michael S <already5chosen@yahoo.com> - 2012-04-24 04:30 -0700
                Re: Indirect Bit nmm1@cam.ac.uk - 2012-04-24 13:01 +0100
  Re: Indirect Bit Stefan Monnier <monnier@iro.umontreal.ca> - 2012-04-11 10:03 -0400
  Re: Indirect Bit kenney@cix.compulink.co.uk - 2012-04-11 09:22 -0500
    Re: Indirect Bit Quadibloc <jsavard@ecn.ab.ca> - 2012-04-12 14:11 -0700
      Re: Indirect Bit Stefan Monnier <monnier@iro.umontreal.ca> - 2012-04-12 18:05 -0400
        Re: Indirect Bit "Andy (Super) Glew" <andy@SPAM.comp-arch.net> - 2012-04-12 20:13 -0700
      Re: Indirect Bit Mark Thorson <nospam@sonic.net> - 2012-04-12 16:55 -0800
        Re: Indirect Bit Quadibloc <jsavard@ecn.ab.ca> - 2012-04-12 17:25 -0700
          Re: Indirect Bit Robert Wessel <robertwessel2@yahoo.com> - 2012-04-12 20:03 -0500
          Re: Indirect Bit "Andy (Super) Glew" <andy@SPAM.comp-arch.net> - 2012-04-12 21:33 -0700
            Re: Indirect Bit Quadibloc <jsavard@ecn.ab.ca> - 2012-04-13 15:57 -0700
              Re: Indirect Bit MitchAlsup <MitchAlsup@aol.com> - 2012-04-13 17:03 -0700
        Re: Indirect Bit "Andy (Super) Glew" <andy@SPAM.comp-arch.net> - 2012-04-12 20:14 -0700
  Re: Indirect Bit Anne & Lynn Wheeler <lynn@garlic.com> - 2012-04-11 10:35 -0400
  Re: Indirect Bit MitchAlsup <MitchAlsup@aol.com> - 2012-04-11 08:54 -0700
  Re: Indirect Bit "Andy (Super) Glew" <andy@SPAM.comp-arch.net> - 2012-04-12 07:55 -0700
    Re: Indirect Bit MitchAlsup <MitchAlsup@aol.com> - 2012-04-12 10:16 -0700
      Re: Indirect Bit jacko <jackokring@gmail.com> - 2012-04-12 11:07 -0700
        Re: Indirect Bit "Andy (Super) Glew" <andy@SPAM.comp-arch.net> - 2012-04-12 21:34 -0700
      Re: Indirect Bit Stephen Fuld <SFuld@alumni.cmu.edu.invalid> - 2012-04-12 11:35 -0700
        Re: Indirect Bit "Andy (Super) Glew" <andy@SPAM.comp-arch.net> - 2012-04-12 21:41 -0700
          Re: Indirect Bit jacko <jackokring@gmail.com> - 2012-04-13 14:52 -0700
          Re: Indirect Bit Stephen Fuld <SFuld@alumni.cmu.edu.invalid> - 2012-04-15 09:24 -0700
            Re: Indirect Bit Terje Mathisen <"terje.mathisen at tmsw.no"> - 2012-04-15 22:45 +0200
              Re: Indirect Bit Stephen Fuld <SFuld@alumni.cmu.edu.invalid> - 2012-04-15 18:04 -0700
      Re: Indirect Bit "Andy (Super) Glew" <andy@SPAM.comp-arch.net> - 2012-04-12 21:12 -0700
    Re: Indirect Bit timcaffrey@aol.com (Tim McCaffrey) - 2012-04-12 19:23 +0000
    Re: Indirect Bit Terje Mathisen <"terje.mathisen at tmsw.no"> - 2012-04-13 08:54 +0200
      Re: Indirect Bit "Andy (Super) Glew" <andy@SPAM.comp-arch.net> - 2012-04-14 14:37 -0700
    Re: Indirect Bit Andrew Reilly <areilly.---@bigpond.net.au> - 2012-04-15 23:42 +0000
      Re: Indirect Bit "Paul A. Clayton" <paaronclayton@gmail.com> - 2012-04-16 08:08 -0700
        Re: Indirect Bit Andrew Reilly <areilly.---@bigpond.net.au> - 2012-04-16 23:38 +0000
          Re: Indirect Bit "Andy (Super) Glew" <andy@SPAM.comp-arch.net> - 2012-04-16 21:29 -0700
      Re: Indirect Bit "Andy (Super) Glew" <andy@SPAM.comp-arch.net> - 2012-04-16 21:25 -0700
  Re: Indirect Bit Quadibloc <jsavard@ecn.ab.ca> - 2012-04-12 14:05 -0700
    Re: Indirect Bit ChrisQ <blackhole@devnull.com> - 2012-04-14 10:12 +0000
      Re: Indirect Bit "Paul A. Clayton" <paaronclayton@gmail.com> - 2012-04-14 06:25 -0700
        Re: Indirect Bit nmm1@cam.ac.uk - 2012-04-14 14:50 +0100
          Re: Indirect Bit ChrisQ <blackhole@devnull.com> - 2012-04-14 18:01 +0000
            Re: Indirect Bit Quadibloc <jsavard@ecn.ab.ca> - 2012-04-14 14:00 -0700
              Re: Indirect Bit Anne & Lynn Wheeler <lynn@garlic.com> - 2012-04-14 20:58 -0400
            Re: Indirect Bit "Paul A. Clayton" <paaronclayton@gmail.com> - 2012-04-16 09:57 -0700
            Re: Indirect Bit timcaffrey@aol.com (Tim McCaffrey) - 2012-04-20 23:19 +0000
          Re: Indirect Bit "Paul A. Clayton" <paaronclayton@gmail.com> - 2012-04-16 08:50 -0700
            Re: Indirect Bit nmm1@cam.ac.uk - 2012-04-16 18:09 +0100
              Re: Indirect Bit Andrew Reilly <areilly.---@bigpond.net.au> - 2012-04-16 23:19 +0000
                Re: Indirect Bit nmm1@cam.ac.uk - 2012-04-17 09:20 +0100
                Re: Indirect Bit Terje Mathisen <"terje.mathisen at tmsw.no"> - 2012-04-17 12:49 +0200
                Re: Indirect Bit Andrew Reilly <areilly.---@bigpond.net.au> - 2012-04-17 12:40 +0000
                Re: Indirect Bit nmm1@cam.ac.uk - 2012-04-18 12:01 +0100
                Re: Indirect Bit anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2012-04-17 12:34 +0000
                Re: Indirect Bit MitchAlsup <MitchAlsup@aol.com> - 2012-04-17 09:10 -0700
                Re: Indirect Bit Andrew Reilly <areilly.---@bigpond.net.au> - 2012-04-17 22:05 +0000
                Re: Indirect Bit jgk@panix.com (Joe keane) - 2012-04-19 19:37 +0000
                Re: Indirect Bit torbenm@diku.dk (Torben Ægidius Mogensen) - 2012-04-20 11:10 +0200
                Re: Indirect Bit Terje Mathisen <"terje.mathisen at tmsw.no"> - 2012-04-20 11:24 +0200
                Re: Indirect Bit nmm1@cam.ac.uk - 2012-04-20 15:01 +0100
                Re: Indirect Bit nmm1@cam.ac.uk - 2012-04-20 15:03 +0100
                Re: Indirect Bit Michael S <already5chosen@yahoo.com> - 2012-04-20 08:01 -0700
                Re: Indirect Bit nmm1@cam.ac.uk - 2012-04-20 16:35 +0100
                Re: Indirect Bit Quadibloc <jsavard@ecn.ab.ca> - 2012-04-18 11:10 -0700
                Re: Indirect Bit MitchAlsup <MitchAlsup@aol.com> - 2012-04-18 15:37 -0700
          Re: Indirect Bit MitchAlsup <MitchAlsup@aol.com> - 2012-04-16 11:21 -0700
            Re: Indirect Bit nmm1@cam.ac.uk - 2012-04-16 19:36 +0100
              Re: Indirect Bit Quadibloc <jsavard@ecn.ab.ca> - 2012-04-18 11:17 -0700
                Re: Indirect Bit MitchAlsup <MitchAlsup@aol.com> - 2012-04-18 15:33 -0700
                Re: Indirect Bit Andreas Eder <andreas_eder@gmx.net> - 2012-04-19 00:29 +0200
                Re: Indirect Bit nmm1@cam.ac.uk - 2012-04-19 10:50 +0100
                Re: Indirect Bit MitchAlsup <MitchAlsup@aol.com> - 2012-04-19 11:29 -0700
                Re: Indirect Bit nmm1@cam.ac.uk - 2012-04-19 21:39 +0100
                Re: Indirect Bit EricP <ThatWouldBeTelling@thevillage.com> - 2012-04-20 15:14 -0400
                Re: Indirect Bit "Andy (Super) Glew" <andy@SPAM.comp-arch.net> - 2012-04-20 22:43 -0700
                Re: Indirect Bit EricP <ThatWouldBeTelling@thevillage.com> - 2012-04-21 17:14 -0400
                Re: Indirect Bit Robert Wessel <robertwessel2@yahoo.com> - 2012-04-21 19:47 -0500
                Re: Indirect Bit Nomen Nescio <nobody@dizum.com> - 2012-04-22 10:45 +0200
                Re: Indirect Bit nmm1@cam.ac.uk - 2012-04-22 09:57 +0100
                Re: Indirect Bit Terje Mathisen <"terje.mathisen at tmsw.no"> - 2012-04-22 12:54 +0200
                Re: Indirect Bit nmm1@cam.ac.uk - 2012-04-22 13:00 +0100
                Re: Indirect Bit Nomen Nescio <nobody@dizum.com> - 2012-04-22 13:28 +0200
                Re: Indirect Bit nmm1@cam.ac.uk - 2012-04-22 13:04 +0100
                Re: Indirect Bit Fritz Wuehler <fritz@spamexpire-201204.rodent.frell.theremailer.net> - 2012-04-22 23:00 +0200
                Re: Indirect Bit Anne & Lynn Wheeler <lynn@garlic.com> - 2012-04-22 18:05 -0400
                Re: Indirect Bit glen herrmannsfeldt <gah@ugcs.caltech.edu> - 2012-04-22 23:20 +0000
                Re: Indirect Bit nmm1@cam.ac.uk - 2012-04-23 08:22 +0100
                Re: Indirect Bit Michael S <already5chosen@yahoo.com> - 2012-04-22 03:56 -0700
                Re: Indirect Bit EricP <ThatWouldBeTelling@thevillage.com> - 2012-04-22 12:28 -0400
                Re: Indirect Bit Robert Wessel <robertwessel2@yahoo.com> - 2012-04-22 12:56 -0500
                Re: Indirect Bit Quadibloc <jsavard@ecn.ab.ca> - 2012-04-22 13:15 -0700
                Re: Indirect Bit Nomen Nescio <nobody@dizum.com> - 2012-04-22 22:30 +0200
                Re: Indirect Bit nmm1@cam.ac.uk - 2012-04-22 21:40 +0100
                Re: Indirect Bit Robert Wessel <robertwessel2@yahoo.com> - 2012-04-22 17:15 -0500
                Re: Indirect Bit nmm1@cam.ac.uk - 2012-04-23 08:26 +0100
                Re: Indirect Bit Stephen Fuld <SFuld@alumni.cmu.edu.invalid> - 2012-04-23 08:02 -0700
                Re: Indirect Bit nmm1@cam.ac.uk - 2012-04-23 17:02 +0100
                Re: Indirect Bit Fritz Wuehler <fritz@spamexpire-201204.rodent.frell.theremailer.net> - 2012-04-23 20:17 +0200
                Re: Indirect Bit Robert Wessel <robertwessel2@yahoo.com> - 2012-04-23 13:07 -0500
                Re: Indirect Bit Quadibloc <jsavard@ecn.ab.ca> - 2012-04-22 13:16 -0700
                Re: Indirect Bit MitchAlsup <MitchAlsup@aol.com> - 2012-04-23 13:14 -0700
                Re: Indirect Bit Anne & Lynn Wheeler <lynn@garlic.com> - 2012-04-23 16:51 -0400
                Re: Indirect Bit Quadibloc <jsavard@ecn.ab.ca> - 2012-04-23 14:22 -0700
                Re: Indirect Bit MitchAlsup <MitchAlsup@aol.com> - 2012-04-21 11:17 -0700
        Re: Indirect Bit jacko <jackokring@gmail.com> - 2012-04-14 08:02 -0700

csiph-web