News for hackers. Stuff that matters.
Re:Nvidia CEO Introduces Nvidia Ampere Architecture, Nvidia ... by ethbro on Thursday May 14, 2020 @10:24AM (#23179891)
Hypothetically, from an ISA perspective, why couldn't Intel and AMD extend x86-64 more fully with SIMD / MIMD instructions? (as in, way more fully than MMX / SSE / AVX)

Naive question, because I literally don't know the link between CPU instruction stream and GPGPU instruction stream.

But it seems like there would be an opportunity to seize the higher (open) ground at the ISA level, and then force Nvidia to implement its own support for that standard.

With the point of being able to run identical code across CPU / CPU-with-embedded-GPU / CPU + GPU.

Understand we're talking about mind-boggling levels of complexity here, but it feels like the CPU shops ceded the role of graphical ISA to Nvidia & Microsoft (DirectX).

Re:Nvidia CEO Introduces Nvidia Ampere Architecture, Nvidia ... by slaymaker1907 on Thursday May 14, 2020 @12:16PM (#23181343)
GPUs have gone far beyond just SIMD these days. To effectively program a GPU, you need to program it like a GPU, not a CPU. In particular, while most people are aware that GPUs don't like branching at a high level, branching can actually be fine as long as each block (small group of processors in the GPU) take the same branch. Block 1 taking the branch while block 2 not taking the branch will have little impact on performance. Additionally, the memory hierarchy is completely different for GPUs with blocks sharing cache and a huge number of registers per core while having very little memory for a typical stack.

Sure, treating a GPU as a SIMD blackbox may work for many problems as a suitable abstraction, but in doing so you also overlook many of its capabilities. x86-64 can emulate many of the SIMD aspects without too much trouble, but the aspects like huge number of processors with many registers is not something that is able to be reproduced without a large number of tradeoffs.

The only way that I see it as being possible to have a true CPU/GPU hybrid that is effective would be to basically have two separate chips for the GPU and the CPU, maybe multiple chips. I think the reason why such a product has not really taken off is because at that point there really isn't a point over using it versus a separate GPU and CPU. Maybe if hardware designers figured out how to greatly improve CPU to GPU communication in such a setup over having the motherboard in-between it might be worth it. CPU to GPU communication is a bottleneck for many applications.

Re:Nvidia CEO Introduces Nvidia Ampere Architecture, Nvidia ... by m463 on Thursday May 14, 2020 @07:45PM (#23187147)
learning about SIMT helped my understanding of the differences.
Re:Nvidia CEO Introduces Nvidia Ampere Architecture, Nvidia ... by pjmlp on Thursday May 14, 2020 @11:03AM (#23180387)
That is what Intel tried to do with Larabee and failed spectacularly.
Re:Nvidia CEO Introduces Nvidia Ampere Architecture, Nvidia ... by fluffything on Thursday May 14, 2020 @03:40PM (#23184353)
Intel actually failed at least twice at this. More recently with Larabee and the Xeon Phi saga that got us AVX-512, and maybe Intel Xe saves it.

But in the late 80s and early 90s they actually had the i860 and its variants: https://en.wikipedia.org/wiki/Intel_i860

which contained a graphics processor! That wasn't a particular success but it landed us the MMX ISA on x86.

Surprisingly enough, Intel went then to make similar mistakes with Itanium, and then with Larabee. But both things landed us features on x86.

Re:Nvidia CEO Introduces Nvidia Ampere Architecture, Nvidia ... by johncalvinyoung on Thursday May 14, 2020 @11:18AM (#23180560)
I wouldn't say they failed. I'd say they gave up on it before product maturity.
Re:Nvidia CEO Introduces Nvidia Ampere Architecture, Nvidia ... by ethbro on Thursday May 14, 2020 @11:46AM (#23180910)
I'd say they aimed for the wrong market (graphics processing, where they were competing against very specialized and experienced competitors) and failed to partner.

Maybe Intel ~1998 could have solo-launched a new architecture, but the only way they'd get uptake now is something in cooperation with AMD.

And maybe the AMD partnership bridge is burnt from previous shenanigans, but it seems like both AMD and Intel would have incentive in more tightly coupling graphics compatibility to CPU ISA, vs Nvidia designing their own.

That said, in that hypothetical reality, Nvidia wouldn't have been able to innovate and execute nearly as fast as they have.

As one of my Comp-E professors once quipped, "If a structural engineer ever tells you programming close to processors is easy, ask them how they'd like their job if the physical properties of lumber changed every 2 years."

Re:Nvidia CEO Introduces Nvidia Ampere Architecture, Nvidia ... by lliamander on Thursday May 14, 2020 @12:41PM (#23181762)
> I'd say they aimed for the wrong market (graphics processing, where they were competing against very specialized and experienced competitors)

Also, the game they were using to validate the performance of their hardware (Doom, I think?) ended up being so different from other software in how it used the GPU that their optimizations didn't really transfer.

Re:Nvidia CEO Introduces Nvidia Ampere Architecture, Nvidia ... by jabl on Thursday May 14, 2020 @12:08PM (#23181216)
They pivoted it to HPC (the Xeon Phi product line), produced a couple of generations of products, but that didn't really pan out either so they cancelled it.

I suppose some of the "DNA" lives on in AVX-512..

Re:Nvidia CEO Introduces Nvidia Ampere Architecture, Nvidia ... by bitL on Thursday May 14, 2020 @10:35AM (#23180039)
> why couldn't Intel and AMD extend x86-64 more fully with SIMD / MIMD instructions

I think there is that latency vs bandwidth trade-off where CPU likes lower latency and GPU higher bandwidth, but you can't achieve the same with a single chip.

Re:Nvidia CEO Introduces Nvidia Ampere Architecture, Nvidia ... by ethbro on Thursday May 14, 2020 @10:50AM (#23180220)
I guess this is fundamentally a homogeneous vs heterogeneous ISA question. I.e. is your ISA intended to operate one chip, or multiple cooperative chips / complexes?
Re:Nvidia CEO Introduces Nvidia Ampere Architecture, Nvidia ... by enos_feedler on Thursday May 14, 2020 @02:10PM (#23183180)
Does it make sense for a hardware ISA to express cooperation between chips? I would think HW ISA is meant to control it's local microarchitecture. I could see a virutal ISA or compiler IR built with a multi chip view.
Re:Nvidia CEO Introduces Nvidia Ampere Architecture, Nvidia ... by throwaway2048 on Thursday May 14, 2020 @10:48AM (#23180195)
GPUs are all a single chip atm.