3 ms·
CPUs and GPUs are in very different situations. We've got 60 years of experience with RISC ISAs showing that they are as good as any other approach, since Seym
by brucehoult 2y ago
CPUs and GPUs are in very different situations.
We've got 60 years of experience with RISC ISAs showing that they are as good as any other approach, since Seymour Cray's CDC6600 in 1964 (and of course his later Cray 1 in 1975 would also be called RISC today). By the late 70s researchers at IBM were also converging on the same ideas, as were academics at Berkeley via experience with the DEC VAX. Multiple RISC ISAs, with mostly only cosmetic differences between them, hit the market commercially in 1985 and 1986 -- almost 40 years ago.
It's pretty clear what works, and for example Aarch64 and RISC-V were developed in parallel with each other [1], without either being aware of the other, but came up with very similar designs, both taking lessons of what to do and what not to do from MIPS, SPARC, Power, Arm32, Alpha and others.
In contrast, the first modern programmable GPU was the NVIDIA GeForce 3 in 2001, just 23 years ago. Even today leading GPU vendors have not settled down on how a GPU should be designed. Every NVIDIA generation is radically different from the previous one and NVIDIA, AMD (ATI), Intel, Imagination GPUs are very different to each other -- and the exact details are still often closely kept secrets. NVIDIA doesn't let anyone program their CPUs directly, they provide a pseudo machine code (PTX) and different closed source compilers from PTX to each generation's real architecture.
The chances of anyone coming up with the "forever" GPU design in the near future, let alone making it open, seem pretty slim. The whole field is still too new, changing too much.
[1] Aarch64 clearly started earlier, and unexpectedly published the ARMv8-A spec in October 2011, 1 1/2 years after the RISC-V effort started, by which time the fundamentals of the RISC-V design were firmly established, though details continued to change for the next 7 years. The first Android phones with Arm64 CPUs (e.g. Galaxy S6) hit in early 2015, with SBCs (Raspberry Pi 3, Odroid C2) following in early 2016. The first commercial RISC-V board, the Arduino-style HiFive1 shipped in late 2016. Note that Apple's iPhone 5s launched with an Apple-designed ARMv8 CPU almost 1.5 years before Arm's own designs.