By: Linus Torvalds (torvalds.delete@this.linux-foundation.org), July 13, 2013 11:08 am
Room: Moderated Discussions
That was very informative of you. However, you seem to forget that we've actually gone through this before, in the MMX->XMM transition with SSE2.
So we actually know how people tried to save transistors and effort before, when the 64->128 bit expansion happened. It was AMD back then, but they did exactly the simple half-wide approach. And it didn't work out all that well. They had exactly the issues I brought up.
And we had that same "unaligned loads are slow" issue, which was a disaster too, and eventually fixed - by basically doubling the memory access path.
So we've seen the the whole SSE->AVX thing before, just in the guise of MMX->SSE. The issues aren't that different..
But at the same time there's a big difference: the upsides have shrunk. SSE is "good enough" for most things.
Five years from now? Who knows? Maybe people will clamor for AVX. And with another shrink or two, the costs are smaller too. Right now I'm not seeing it. You (or anybody else, for that matter) haven't brought up any realistic case that would be relevant on mobile or microservers that would warrant AVX.
So why are you so convinced AVX makes sense?
Linus
So we actually know how people tried to save transistors and effort before, when the 64->128 bit expansion happened. It was AMD back then, but they did exactly the simple half-wide approach. And it didn't work out all that well. They had exactly the issues I brought up.
And we had that same "unaligned loads are slow" issue, which was a disaster too, and eventually fixed - by basically doubling the memory access path.
So we've seen the the whole SSE->AVX thing before, just in the guise of MMX->SSE. The issues aren't that different..
But at the same time there's a big difference: the upsides have shrunk. SSE is "good enough" for most things.
Five years from now? Who knows? Maybe people will clamor for AVX. And with another shrink or two, the costs are smaller too. Right now I'm not seeing it. You (or anybody else, for that matter) haven't brought up any realistic case that would be relevant on mobile or microservers that would warrant AVX.
So why are you so convinced AVX makes sense?
Linus