By: Linus Torvalds (torvalds.delete@this.linux-foundation.org), November 19, 2010 10:24 am
Room: Moderated Discussions
someone (someone@somewhere.com) on 11/19/10 wrote:
>
>WRONG.
>
>The whole Itanium approach is modern compilers learn
>a lot of useful information about programs that can be
>passed onto hardware if there exists mechanisms to do
>so in the ISA. Hardware is free to use such information
>any way it choses and is not prevented from collecting
>its own information at run time, like other processors, to
>complement and enhance the value of the hint stream
>from the compiler.
Umm. I tried to explain it to you. You refuse to see
reality.
The fact is, OoO and dynamic CPU behavior are the best way
to react to real-life loads. That's not just some crazy
theory of mine. It's a fact. The number of loads that don't
have interesting dynamic behavior is miniscule, and not
very common. Most of them are best done on a GPU, not a
CPU (ie they are the tired old "totally predictable patterns
because it's doing the same thing over and over and over
again").
And almosy none of the Itanium features make sense
in an OoO setting. Most of them are actively detrimental.
It was a failure. The architecture is fundamentally mis-
designed. All those "cool" features that you think people
don't understand are actually just f*cking stupid.
But you go on in your denial.
Linus
PS. And yes, I was somewhat tongue-in-cheek on the whole
EE vs CS issue. I suspect much of Itanium architecture was
actually designed by compiler people - CS people. They
all seem to think that they are so smart that hardware
shouldn't even try.
>
>WRONG.
>
>The whole Itanium approach is modern compilers learn
>a lot of useful information about programs that can be
>passed onto hardware if there exists mechanisms to do
>so in the ISA. Hardware is free to use such information
>any way it choses and is not prevented from collecting
>its own information at run time, like other processors, to
>complement and enhance the value of the hint stream
>from the compiler.
Umm. I tried to explain it to you. You refuse to see
reality.
The fact is, OoO and dynamic CPU behavior are the best way
to react to real-life loads. That's not just some crazy
theory of mine. It's a fact. The number of loads that don't
have interesting dynamic behavior is miniscule, and not
very common. Most of them are best done on a GPU, not a
CPU (ie they are the tired old "totally predictable patterns
because it's doing the same thing over and over and over
again").
And almosy none of the Itanium features make sense
in an OoO setting. Most of them are actively detrimental.
It was a failure. The architecture is fundamentally mis-
designed. All those "cool" features that you think people
don't understand are actually just f*cking stupid.
But you go on in your denial.
Linus
PS. And yes, I was somewhat tongue-in-cheek on the whole
EE vs CS issue. I suspect much of Itanium architecture was
actually designed by compiler people - CS people. They
all seem to think that they are so smart that hardware
shouldn't even try.