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


Groups > comp.arch.embedded > #20068

Re: two fpu compared

From David Brown <david.brown@hesbynett.no>
Newsgroups comp.arch.embedded
Subject Re: two fpu compared
Date 2015-02-12 10:51 +0100
Organization A noiseless patient Spider
Message-ID <mbht2f$v21$1@dont-email.me> (permalink)
References <ck36l8Fak5nU1@mid.individual.net>

Show all headers | View raw


On 12/02/15 09:30, alb wrote:
> Hi everyone,
> 
> assuming two differently implemented FPU, both validated against the 
> IEEE754, and limiting operations to the golden 5 (+,-, *, /, sqr), can I 
> be sure that provided the inputs operands are the same the result would 
> be the same bit wise?
> 
> BACKGROUND: our dear customer wanted to verify that the control law 
> specified is correctly implemented by means of comparing output with a 
> golden model. Now the golden model is running on a standard PC, with 
> matlab, a pile of mathematical libraries and a processor that is 
> humongous compared to our little embedded unit. I've already warned 
> the customer that bitwise comparison might only be viable if precision 
> wise the two calculations are equally configured (single precision, 
> rounding, etc.). Are there any other elements to consider?
> 
> Moreover, we are driving a PWM with the control law on a 8bit, or max 
> 10bit precision, so most of that fine grain precision would not be used 
> anyway.
> 
> Any comment/pointer/suggestion is appreciated.
> 
> Al
> 

It is normal to view floating point operations as slightly imprecise -
there is a rule that you never compare floating point data with ==.
Even if you are careful to have the same precision and rounding in the
calculations, there may be other factors - for at least some operations,
I believe there can be different results from two IEEE754 compatible
implementations.

More importantly, however, is that normally you don't want full IEEE754
compliance - the overhead is too much.  Typically, FPU hardware does not
provide full support - you need to have extra software handling as well.
 In some aspects, non-compliant code can be significantly more
efficient.  For example, with "-ffast-math" in gcc, the compiler can
turn "x = y + z - y" into "x = z", while in compliant mode it has to do
the full calculation as stated, even though it is slower and gives less
accurate results.  And for square root, some FPU's may have a fast
"approximate square root" function that is good enough and much faster.

The only way to be really sure of bit-accurate results is to use the
same software floating point library on each system.  But since the
"golden model" here is a system that you have no control of (matlab plus
external libraries - and different "standard PC's" can have different
details in their FPU's), it is basically impossible to guarantee
bit-accurate copies of the results.

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


Thread

two fpu compared al.basili@gmail.com (alb) - 2015-02-12 08:30 +0000
  Re: two fpu compared David Brown <david.brown@hesbynett.no> - 2015-02-12 10:51 +0100
    Re: two fpu compared al.basili@gmail.com (alb) - 2015-02-13 14:14 +0000
      Re: two fpu compared David Brown <david.brown@hesbynett.no> - 2015-02-13 16:23 +0100
        Re: two fpu compared Colin Paul de Gloucester <not_a_real_email@address.com> - 2015-02-13 17:37 +0100
          Re: two fpu compared al.basili@gmail.com (alb) - 2015-02-16 08:01 +0000
            Re: two fpu compared Colin Paul de Gloucester <not_a_real_email@address.com> - 2015-02-16 11:43 +0100
              Re: two fpu compared al.basili@gmail.com (alb) - 2015-02-17 10:35 +0000
                Re: two fpu compared David Brown <david.brown@hesbynett.no> - 2015-02-17 12:18 +0100
                Re: two fpu compared George Neuner <gneuner2@comcast.net> - 2015-02-17 09:26 -0500
                Re: two fpu compared David Brown <david.brown@hesbynett.no> - 2015-02-17 16:47 +0100
                Re: two fpu compared Dimiter_Popoff <dp@tgi-sci.com> - 2015-02-17 20:54 +0200
        Re: two fpu compared al.basili@gmail.com (alb) - 2015-02-16 07:58 +0000
          Re: two fpu compared David Brown <david.brown@hesbynett.no> - 2015-02-16 09:53 +0100
            Re: two fpu compared al.basili@gmail.com (alb) - 2015-02-16 09:47 +0000
              Re: two fpu compared Richard Damon <Richard@Damon-Family.org> - 2015-02-16 08:27 -0500
        Re: two fpu compared Nobody <nobody@nowhere.invalid> - 2015-02-23 00:13 +0000
      Re: two fpu compared George Neuner <gneuner2@comcast.net> - 2015-02-13 18:43 -0500
      Re: two fpu compared glen herrmannsfeldt <gah@ugcs.caltech.edu> - 2015-02-14 15:30 +0000
        Re: two fpu compared Dimiter_Popoff <dp@tgi-sci.com> - 2015-02-14 23:19 +0200
          Re: two fpu compared Hans-Bernhard Bröker <HBBroeker@t-online.de> - 2015-02-14 23:28 +0100
          Re: two fpu compared glen herrmannsfeldt <gah@ugcs.caltech.edu> - 2015-02-15 14:33 +0000
            Re: two fpu compared Dimiter_Popoff <dp@tgi-sci.com> - 2015-02-17 20:53 +0200
              Re: two fpu compared glen herrmannsfeldt <gah@ugcs.caltech.edu> - 2015-02-18 01:55 +0000
                Re: two fpu compared Dimiter_Popoff <dp@tgi-sci.com> - 2015-02-18 17:54 +0200
                Re: two fpu compared glen herrmannsfeldt <gah@ugcs.caltech.edu> - 2015-02-18 16:52 +0000
                Re: two fpu compared Hans-Bernhard Bröker <HBBroeker@t-online.de> - 2015-02-18 18:12 +0100
                Re: two fpu compared Robert Wessel <robertwessel2@yahoo.com> - 2015-02-18 18:02 -0600
                Re: two fpu compared Tauno Voipio <tauno.voipio@notused.fi.invalid> - 2015-02-19 09:42 +0200
                Re: two fpu compared Robert Wessel <robertwessel2@yahoo.com> - 2015-02-19 11:04 -0600
                Re: two fpu compared Reinhardt Behm <rbehm@hushmail.com> - 2015-02-19 23:26 +0800
                Re: two fpu compared Dimiter_Popoff <dp@tgi-sci.com> - 2015-02-18 19:18 +0200
                Re: two fpu compared Dimiter_Popoff <dp@tgi-sci.com> - 2015-02-19 02:28 +0200
                Re: two fpu compared glen herrmannsfeldt <gah@ugcs.caltech.edu> - 2015-02-19 16:29 +0000
                Re: two fpu compared Dimiter_Popoff <dp@tgi-sci.com> - 2015-02-21 16:07 +0200
  Re: two fpu compared glen herrmannsfeldt <gah@ugcs.caltech.edu> - 2015-02-12 11:26 +0000
  Re: two fpu compared "Boudewijn Dijkstra" <sp4mtr4p.boudewijn@indes.com> - 2015-02-12 12:29 +0100
  Re: two fpu compared Dennis <dennis@none.none> - 2015-02-12 09:45 -0600

csiph-web