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


Groups > sci.physics > #532631

Re: Floating Point Test Suite

From Fabian Russell <root@localhost.localdomain>
Newsgroups sci.physics, comp.os.linux.advocacy
Subject Re: Floating Point Test Suite
Date 2015-11-13 03:28 +0000
Organization NewsGuy - Unlimited Usenet $23.95
Message-ID <pan.2015.11.13.03.28.24@localhost.localdomain> (permalink)
References <pan.2015.11.11.18.01.38@localhost.localdomain> <pan.2015.11.11.19.58.41@localhost.localdomain> <WJ-dnVQVTK3yldnLnZ2dnUU7-fOdnZ2d@giganews.com> <pan.2015.11.12.04.47.15@localhost.localdomain> <MZydnSKCm4Jd1djLnZ2dnUU7-YPOydjZ@giganews.com>

Cross-posted to 2 groups.

Show all headers | View raw


On Thu, 12 Nov 2015 20:19:44 -0600, Monkey Man wrote:

> 
> I wonder if this program would work across non-x86/AMD 
> hardware (ex. ARM, MIPS, SPARC, etc.) 
>

That was the whole point of the test, I suppose.

If you download the original source code from the Netlib link I gave
in the original post, you will find the output logs from many
different architectures.  I glanced through some and the results
are very poor for some of those machines..

On my current Linux machine I only get the two pseudo-errors
with SINE and COSINE.


> 
> Oh interesting. I didn't know there were two FP units on Intel/AMD 
> processors. I'll have to look that up.
>

Check the Intel hardware manuals:

http://www.intel.com/content/www/us/en/processors/architectures-software-developer-manuals.html

Wonderful stuff.


> 
> For sure, I've been involved in projects where we've run into bizarre 
> floating point behavior and the _solution_ usually ends up being a tirade 
> about how flawed floating point processors are
>

Well, there are many compiler options that influence the FP unit.

The Intel ICC compiler, reputed to be the best, has default settings that
optimize for computational speed.  This destroys all IEEE754 compliance
and therefore reproducability.

The GNU Compile Collection (GCC) has a similar setting called fast-math.

IEEE754 is about reproducubility, but it seems that it may be too slow
for some programmers.

Fast math also disables what are known as "denormal" numbers and enables
a computational technique known as "flush to zero."

Although simple ideas, I'd better not venture into denormals or flush-to-zero
at this time, but suffice it to say that they can severely effect certain
kinds of computations.


> 
> just to 
> make sure I understand (which I probably don't)... It's comparing the 
> result against an expectation up to the 1e-15'th place?
> 

Basically, yes.  The maximum error for arithmetic should never be more
than 0.5 ulp between representable numbers. 

If you check the directory "ucblib" you will find the actual
test values used, in hexadecimal notation.  There are input numbers
and expected output values plus the expected condition flags set by
the FP processor.  (Different precisions are indicated by "s," "d,"
and "q.")


> 
> Checking rounding on multiply, divide and add/subtract.
> * is neither chopped nor correctly rounded.
> Division appears to round correctly.
> Addition/Subtraction appears to round correctly.
> Sticky bit used incorrectly or not at all.
> FLAW:  lack(s) of guard digits or failure(s) to correctly round or chop
> (noted above) count as one flaw in the final tally below.
> 

Yes, that seems to be the error, or FLAW, actually.

This means that the computations are correct but the rounding is
not ideal.


> 
> Also, can you explain what chopping is about? 
>

Regarding this program, chopping likely means just "truncation" where
the least significant bits are just discarded rather than rounded.

I say "likely means" because there is no documentation, but I don't know
what else it could mean.

Truncation is actually a form of rounding, but they indicate it by
saying "chopping."


> 
> I've only been 
> using Linux since 2002. If you don't mind my asking, are you using it at 
> home and/or work; and what sort of computing do you use it for?
> 

Well, Linux is the only OS, isn't it?  Therefore I use it for everything.


> 
> Gotta love extensions to standards. 
> What is quad precision used for, and what sort of applications/industries 
> would use something like that?
> 

More precision is always better, especially if there is hardware for it.

Quad precision is actually 128 bits.  It is part of the C standard as float128.
But on Intel/AMD machines it has to be implemented in software only.  There
are other architectures with float128 hardware (I can't recall specifically
which).

However, the older Intel 387 FP processor has 80-bit floats.  This is "extended"
precision.  See the Intel manuals above for lots more info on this.

But as I mentioned the 387 FP is not IEEE754 complaint.  In fact, if you set the
compiler flags to switch on 387 FP, the UCBTEST will fail in many places.

If you have any more concerns, feel free to post them.  I am by no means
an expert in this area but all questions can stimulate and further refine
my knowledge.


>
> Monkey Man
>
> P.S. Someone mentioned I might be Fabian. I'm sorry to disappoint, but 
> I'm not.
>

I hate to be uncivil and impolite, but those folks are crass idiots that
deserve no respect or dignity whatsoever.

Back to sci.physics | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

Floating Point Test Suite Fabian Russell <root@localhost.localdomain> - 2015-11-11 18:01 +0000
  Re: Floating Point Test Suite Fabian Russell <root@localhost.localdomain> - 2015-11-11 18:09 +0000
  Re: Floating Point Test Suite Fabian Russell <root@localhost.localdomain> - 2015-11-11 19:58 +0000
    Re: Floating Point Test Suite Chris Ahlstrom <OFeem1987@teleworm.us> - 2015-11-11 15:19 -0500
      Re: Floating Point Test Suite Fabian Russell <root@localhost.localdomain> - 2015-11-11 20:28 +0000
      Re: Floating Point Test Suite Fabian Russell <root@localhost.localdomain> - 2015-11-11 20:37 +0000
        Re: Floating Point Test Suite Chris Ahlstrom <OFeem1987@teleworm.us> - 2015-11-11 16:33 -0500
      Re: Floating Point Test Suite Fabian Russell <root@localhost.localdomain> - 2015-11-11 21:13 +0000
        Re: Floating Point Test Suite Odd Bodkin <bodkinodd@gmail.com> - 2015-11-11 15:16 -0600
          Re: Floating Point Test Suite Fabian Russell <root@localhost.localdomain> - 2015-11-11 21:42 +0000
          Re: Floating Point Test Suite Fabian Russell <root@localhost.localdomain> - 2015-11-11 21:54 +0000
            Re: Floating Point Test Suite Odd Bodkin <bodkinodd@gmail.com> - 2015-11-11 16:43 -0600
              Re: Floating Point Test Suite Fabian Russell <root@localhost.localdomain> - 2015-11-11 23:15 +0000
                Re: Floating Point Test Suite Odd Bodkin <bodkinodd@gmail.com> - 2015-11-11 17:34 -0600
                Re: Floating Point Test Suite Odd Bodkin <bodkinodd@gmail.com> - 2015-11-11 17:37 -0600
                Re: Floating Point Test Suite Fabian Russell <root@localhost.localdomain> - 2015-11-11 23:47 +0000
                Re: Floating Point Test Suite dvus <dven1@adelphia.net> - 2015-11-12 07:56 -0500
                Re: Floating Point Test Suite Fabian Russell <root@localhost.localdomain> - 2015-11-12 19:07 +0000
                Re: Floating Point Test Suite Odd Bodkin <bodkinodd@gmail.com> - 2015-11-12 19:57 -0600
                Re: Floating Point Test Suite Fabian Russell <root@localhost.localdomain> - 2015-11-12 00:45 +0000
                Re: Floating Point Test Suite Fabian Russell <root@localhost.localdomain> - 2015-11-12 04:55 +0000
                Re: Floating Point Test Suite Odd Bodkin <bodkinodd@gmail.com> - 2015-11-12 09:26 -0600
                Re: Floating Point Test Suite Fabian Russell <root@localhost.localdomain> - 2015-11-12 20:56 +0000
                Re: Floating Point Test Suite Odd Bodkin <bodkinodd@gmail.com> - 2015-11-12 20:00 -0600
            Re: Floating Point Test Suite Odd Bodkin <bodkinodd@gmail.com> - 2015-11-11 16:48 -0600
              Re: Floating Point Test Suite Fabian Russell <root@localhost.localdomain> - 2015-11-11 23:08 +0000
                Re: Floating Point Test Suite Odd Bodkin <bodkinodd@gmail.com> - 2015-11-11 17:12 -0600
            Re: Floating Point Test Suite Odd Bodkin <bodkinodd@gmail.com> - 2015-11-11 17:06 -0600
            Re: Floating Point Test Suite dvus <dven1@adelphia.net> - 2015-11-12 07:35 -0500
              Re: Floating Point Test Suite Fabian Russell <root@localhost.localdomain> - 2015-11-12 19:29 +0000
    Re: Floating Point Test Suite Monkey Man <manm0nk3y@gmail.com> - 2015-11-11 21:33 -0600
      Re: Floating Point Test Suite Fabian Russell <root@localhost.localdomain> - 2015-11-12 04:47 +0000
        Re: Floating Point Test Suite Monkey Man <manm0nk3y@gmail.com> - 2015-11-12 20:19 -0600
          Re: Floating Point Test Suite Fabian Russell <root@localhost.localdomain> - 2015-11-13 03:28 +0000
            Re: Floating Point Test Suite Big Fish in a Small Crotch <bigfishinasmallcrotch@myself.com> - 2015-11-12 22:40 -0500
              Re: Floating Point Test Suite Fabian Russell <root@localhost.localdomain> - 2015-11-13 03:59 +0000
                Re: Floating Point Test Suite benj <none@gmail.com> - 2015-11-13 00:16 -0500
                Re: Floating Point Test Suite GreyCloud <cumulus@mist.com> - 2015-11-13 15:00 -0700
            Re: Floating Point Test Suite Monkey Man <manm0nk3y@gmail.com> - 2015-11-13 01:40 -0600
              Re: Floating Point Test Suite Fabian Russell <root@localhost.localdomain> - 2015-11-13 08:22 +0000
                Re: Floating Point Test Suite benj <none@gmail.com> - 2015-11-13 12:41 -0500
                Re: Floating Point Test Suite Fabian Russell <root@localhost.localdomain> - 2015-11-13 19:16 +0000
                Re: Floating Point Test Suite Apollyon <adravirgo@gmail.com> - 2015-11-13 13:04 -0800
              Re: Floating Point Test Suite Fabian Russell <root@localhost.localdomain> - 2015-11-14 22:58 +0000
                Re: Floating Point Test Suite Big Fish in a Small Crotch <bigfishinasmallcrotch@myself.com> - 2015-11-14 18:08 -0500
                Re: Floating Point Test Suite Fabian Russell <root@localhost.localdomain> - 2015-11-14 23:39 +0000
                Re: Floating Point Test Suite Timo <timo@physics.uq.edu.au> - 2015-11-14 18:26 -0800
                Re: Floating Point Test Suite Fabian Russell <root@localhost.localdomain> - 2015-11-15 07:07 +0000
                Re: Floating Point Test Suite Timo <timo@physics.uq.edu.au> - 2015-11-14 23:42 -0800
                Re: Floating Point Test Suite Poutnik <poutnik4nntp@gmail.com> - 2015-11-15 09:49 +0100
                Re: Floating Point Test Suite Fabian Russell <root@localhost.localdomain> - 2015-11-15 21:01 +0000
                Re: Floating Point Test Suite jimp@specsol.spam.sux.com - 2015-11-15 21:33 +0000
                Re: Floating Point Test Suite Timo <timo@physics.uq.edu.au> - 2015-11-15 14:24 -0800
                Re: Floating Point Test Suite jimp@specsol.spam.sux.com - 2015-11-15 22:55 +0000
                Re: Floating Point Test Suite Fabian Russell <root@localhost.localdomain> - 2015-11-15 22:25 +0000
                Re: Floating Point Test Suite Timo <timo@physics.uq.edu.au> - 2015-11-15 14:59 -0800
                Re: Floating Point Test Suite Poutnik <poutnik4nntp@gmail.com> - 2015-11-15 09:41 +0100
      Re: Floating Point Test Suite Fabian Russell <root@localhost.localdomain> - 2015-11-12 06:24 +0000
        Re: Floating Point Test Suite Monkey Man <manm0nk3y@gmail.com> - 2015-11-12 20:29 -0600
          Re: Floating Point Test Suite Fabian Russell <root@localhost.localdomain> - 2015-11-13 03:49 +0000
            Re: Floating Point Test Suite Monkey Man <manm0nk3y@gmail.com> - 2015-11-12 22:49 -0600
              Re: Floating Point Test Suite Fabian Russell <root@localhost.localdomain> - 2015-11-13 04:59 +0000
                Re: Floating Point Test Suite Monkey Man <manm0nk3y@gmail.com> - 2015-11-13 01:56 -0600
                Re: Floating Point Test Suite Fabian Russell <root@localhost.localdomain> - 2015-11-13 08:28 +0000
                Re: Floating Point Test Suite Monkey Man <manm0nk3y@gmail.com> - 2015-11-13 22:24 -0600
                Re: Floating Point Test Suite Fabian Russell <root@localhost.localdomain> - 2015-11-14 04:45 +0000
          Re: June 1986 ? ! Fabian Russell <root@localhost.localdomain> - 2015-11-13 06:19 +0000
            Re: June 1986 ? ! GreyCloud <cumulus@mist.com> - 2015-11-13 15:03 -0700
      Re: MonkeyMan is FabianRussell. Fabian Russell <root@localhost.localdomain> - 2015-11-12 19:44 +0000
    Re: Floating Point Test Suite Yousuf Khan <bbbl67@spammenot.yahoo.com> - 2015-11-13 01:59 -0500
      Re: Floating Point Test Suite Fabian Russell <root@localhost.localdomain> - 2015-11-13 07:43 +0000
        Re: Floating Point Test Suite Timo <timo@physics.uq.edu.au> - 2015-11-13 15:11 -0800
          Re: Floating Point Test Suite Fabian Russell <root@localhost.localdomain> - 2015-11-14 00:00 +0000
            Re: Floating Point Test Suite Timo <timo@physics.uq.edu.au> - 2015-11-13 16:31 -0800
              Re: Floating Point Test Suite Fabian Russell <root@localhost.localdomain> - 2015-11-14 02:26 +0000
                Re: Floating Point Test Suite jimp@specsol.spam.sux.com - 2015-11-14 03:52 +0000
              Re: Floating Point Test Suite Fabian Russell <root@localhost.localdomain> - 2015-11-14 02:46 +0000
                Re: Floating Point Test Suite Timo <timo@physics.uq.edu.au> - 2015-11-13 19:26 -0800
                Re: Floating Point Test Suite benj <none@gmail.com> - 2015-11-14 02:11 -0500
              Re: Floating Point Test Suite noTthaTguY <abu.kuanysh05@gmail.com> - 2015-11-14 15:20 -0800
            Re: Floating Point Test Suite jimp@specsol.spam.sux.com - 2015-11-14 00:47 +0000
  Re: Floating Point Test Suite Big Fish in a Small Crotch <bigfishinasmallcrotch@myself.com> - 2015-11-11 15:28 -0500

csiph-web