Article: AMD's Jaguar Microarchitecture
By: Michael S (already5chosen.delete@this.yahoo.com), April 5, 2014 10:02 am
Room: Moderated Discussions
Linus Torvalds (torvalds.delete@this.linux-foundation.org) on April 4, 2014 4:56 pm wrote:
> TREZA (no.delete@this.ema.il) on April 4, 2014 3:18 pm wrote:
> >
> > Denormals is what made IEEE FP superior to VAX. It is the correct way of doing FP math!
>
> Don't get me wrong - I actually personally like denormals, and think they are
> definitely required for serious FP math, but the thing is, 99% of FP use isn't
> really serious, and most people don't really understand FP anyway.
>
> The kind of people who really understand FP and do serious math using it (to the point of
> caring about the order of operations, never mind denormals), those kinds of people really
> do know what they are doing, and sometimes (although not always) really do want denormals.
>
> But there's the other side of FP math, which really just wants good enough values quickly. There are a lot
> of people who are ok with single-precision and no denormals. And yes, quite often 24 bits of precision is
> not enough, and they decide they actually need double precision in order to avoid odd visual artifacts.
>
> Yeah, I'm talking about things like games.
>
> And the thing is, the defaults tend to be the wrong way around. People who don't know what they
> are doing with floating point basically *never* need denormals.
Dr. William Kahan will strongly disagree. His main motivation in inventing denormals was minimal astonishment for non-initiated.
> You will generally hit other issues
> long before you hit the "oops, I lost precision because I didn't have denormals". But exactly
> *because* they don't know about floating point, they also don't know to disable them.
>
> So I think that from a hardware designer standpoint, it actually would make more sense if the default was "denormals
> are zero" (or "flush to zero"), because the people who do want denormals also know about them. So while
> I like denormals, the onus on disabling denormals when not needed is kind of the wrong way around.
>
> But it's too late, and big CPU's largely do already handle them right
> and don't care, so it's mostly a problem for the embedded space.
>
> Linus
> TREZA (no.delete@this.ema.il) on April 4, 2014 3:18 pm wrote:
> >
> > Denormals is what made IEEE FP superior to VAX. It is the correct way of doing FP math!
>
> Don't get me wrong - I actually personally like denormals, and think they are
> definitely required for serious FP math, but the thing is, 99% of FP use isn't
> really serious, and most people don't really understand FP anyway.
>
> The kind of people who really understand FP and do serious math using it (to the point of
> caring about the order of operations, never mind denormals), those kinds of people really
> do know what they are doing, and sometimes (although not always) really do want denormals.
>
> But there's the other side of FP math, which really just wants good enough values quickly. There are a lot
> of people who are ok with single-precision and no denormals. And yes, quite often 24 bits of precision is
> not enough, and they decide they actually need double precision in order to avoid odd visual artifacts.
>
> Yeah, I'm talking about things like games.
>
> And the thing is, the defaults tend to be the wrong way around. People who don't know what they
> are doing with floating point basically *never* need denormals.
Dr. William Kahan will strongly disagree. His main motivation in inventing denormals was minimal astonishment for non-initiated.
> You will generally hit other issues
> long before you hit the "oops, I lost precision because I didn't have denormals". But exactly
> *because* they don't know about floating point, they also don't know to disable them.
>
> So I think that from a hardware designer standpoint, it actually would make more sense if the default was "denormals
> are zero" (or "flush to zero"), because the people who do want denormals also know about them. So while
> I like denormals, the onus on disabling denormals when not needed is kind of the wrong way around.
>
> But it's too late, and big CPU's largely do already handle them right
> and don't care, so it's mostly a problem for the embedded space.
>
> Linus