Article: AMD's Jaguar Microarchitecture
By: TREZA (no.delete@this.ema.il), April 4, 2014 4:34 pm
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. 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
In a sense, FPUs started as luxury add-ons, for serious math, so, for the price, accurate results were expected.
Now, it is the contrary... FP is everywhere, but, on average, lower "quality" is needed.
The transition from 80bits x87 to 64bits SSE is telling.
> 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. 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
In a sense, FPUs started as luxury add-ons, for serious math, so, for the price, accurate results were expected.
Now, it is the contrary... FP is everywhere, but, on average, lower "quality" is needed.
The transition from 80bits x87 to 64bits SSE is telling.