3 ms·
The thing is GPUs achieve their performance by embracing certain realities that aren't likely to change any time soon. The classic model of memory reflected in
by mattnewport 8y ago
The thing is GPUs achieve their performance by embracing certain realities that aren't likely to change any time soon. The classic model of memory reflected in conventional CPU architectures tries to keep up the pretense that all memory accesses are equally fast through lots of levels of caches. GPUs have a model that recognizes memory locality as fundamental and treats general memory access more like IO - something asynchronous that you want to issue a request for and then find other work to do while you wait for a response. Fine gained thread context switching with massive parallelism mostly hides that from the programmer and saves them having to write an await on every memory fetch.
CPUs also go to heroic lengths to try and make shared memory transparent with complex cache synchronization logic. GPUs allow you to do that to an extent with atomics but have a programming model that discourages it. That's a model that better aligns with the realities of hardware.
Moore's Law was always about number of transistors, not clock speed or single thread performance. GPUs have kept it fairly alive in that regard. Even CPUs continue to increase transistor counts quite effectively, they've just stalled out on clock speed increases and ways to use those transistors to increase single thread performance and a lot of software still can't scale well by just adding cores.
- dahart 8y agoYou're right, and I'd agree with all of that. Maybe one way of expressing my point of view that involves fewer potentially wrong predictions of the future is: I feel like the SIMD programming model is now becoming accepted as general purpose computing, rather than that GPUs are particularly specialized. The GPU model is different than CPU, but not that specialized anymore. I may be drawing a subjective line. I do expect GPU programming to continue getting easier both hardware and software wise, but I also feel like, for exactly all the reasons you mention, more and more people are aware of and accepting the GPU limitations in search of that performance.