4 ms·
GPUs were only able to come about into the mainstream because they were brought about and developed alongside their use-case. Much the same can be said for came
by Veedrac 6y ago
GPUs were only able to come about into the mainstream because they were brought about and developed alongside their use-case. Much the same can be said for camera ISPs or neural accelerators. GPUs only started tackling more general workloads long after they were a standard, and even today GPGPU is a bit of a mess.
If GPUs didn't come around when they did, and games were all CPU-based today, you wouldn't have an easy time inventing and selling a GPU.
> Intel itself tried to move beyond OoO and utterly failed.
One attempt in 2001 (and a few before then when the market was more competitive but before people had the context we have today) by the company with market power doesn't invalidate my point as much as reinforce it. People have tried approximately nothing in the last 20 years, all pointing back to this one bad design Intel did 20 years ago as if that proves the taken path is the only valid path.
- MaxBarraclough 6y ago> If GPUs didn't come around when they did, and games were all CPU-based today, you wouldn't have an easy time inventing and selling a GPU. I'm not convinced. You'd just need to show that hardware acceleration can produce worthwhile gains for computer graphics, which doesn't strike me as insurmountable. Perhaps start with an FPGA. > People have tried approximately nothing in the last 20 years Do you follow the 'Mill' architecture? https://en.wikipedia.org/wiki/Mill_architecture https://en.wikipedia.org/wiki/Mill_architecture
- Veedrac 6y agoGood luck showing that when all graphics code is designed to be run on CPUs, nobody has spent more than trivial effort making GPU-compatible graphics algorithms, you can't afford new nodes, your GPU is first-generation (and so far from optimal), you can only use CPU memories (who would invent HBM if GPUs didn't exist?), you can only do fixed-function logic efficiently, you have no demos that don't look like programmer art, and you have no way of getting past the adoption hurdle. Even realtime RT, which is mostly just a compatible add-on to raster, only managed to get off the ground when NVIDIA decided to go all-in and tank the criticism for a generation by effectively forcing it on the customer. No other company could have done that, even though Imagination was pushing for RT hardware for ages before NVIDIA. > Do you follow the 'Mill' architecture? Yes. https://medium.com/@veedrac/to-reinvent-the-processor-671139a4a034 https://medium.com/@veedrac/to-reinvent-the-processor-671139...
- gpderetta 6y agoTo be constructive, I do believe there is a future beyond classic OoO, but dynamic scheduling is going to be part of it, although possibly not of instructions but of BBs or even microthreads. The papers you referencing are quire interesting as they validate some ideas I was idly thinking about. I still would call these designs OoO though, just extended. The problem is that building a CPU is very expensive and high risk, going even a bit beyond the classic OoO can bankrupt you. Intel tried with Itanic and AMD almost ate its lunch; AMD tried with buldozer and shared execution units and almost collapsed; SUN tried with flock of chickens and is no more; Nvidia tried with denver, and well, I guess they had a lot of cash. Both AMD and Apple just made completely orthodox designs and were complete successes. Evolution is going to be in small steps, unless a new design can prove to be 10x better than the existing ones which is very unlikely.
- Veedrac 6y ago> I do believe there is a future beyond classic OoO, but dynamic scheduling is going to be part of it, although possibly not of instructions but of BBs or even microthreads. I agree, I find it hard to see how you could abandon dynamic scheduling without unreasonable sacrifices. My point isn't to say otherwise, just that we see less innovation than we would otherwise were our ecosystem built to handle it. GPUs have benefited hugely from the ability to rapidly change the ISA and a lot of internal details between each generation, and for each competitor to have their own take and extensions (Apple even has its own API, to support its TBDR features). If we had that sort of freedom in CPUs, I'm sure we'd have something a lot better than four variants of practically-the-same-thing by four different companies.
- brandmeyer 6y ago> Nvidia tried with denver, and well, I guess they had a lot of cash More likely: They recognized the failure and cut the program before losing too much money.
- gpderetta 6y agoTrue, also Denver wasn't bad, just not good enough.
- gpderetta 6y ago> GPUs only started tackling more general workloads long after they were a standard, and even today GPGPU is a bit of a mess. yes, because other workloads are niche and until very recently didn't warrant investing on dedicated architectures for them.