I’m not even sure that’s entirely true either though. By the end of the PS3 generation, people had gotten to grips with it and were pushing it far further than first assumed possible. If you watch the GDC talks, it seemed to me that people were happy enough with it by that point (relatively speaking at least) and were able to squeeze quite a bit of performance out of it. It seems that it was hated for the first while of its life because developers hadn’t settled on a good model for programming it but by the end task based concurrency like we have now started to gain popularity (eg see the naughty dog engine talk).
Is cell really so different from computer shaders with something like Vulkan? I feel if a performance-competitive cell were made today, it might not receive so much hate, as people today are more prepared for its flavour of programming. Nowadays we have 8 to 16 cores, more on P/E setups, vastly more on workstation/server setups, and we have gpu’s and low level gpu APIs. Cell came out in a time when dual core was the norm and engines still did multi threading by having a graphics thread and a logic thread.
Naughty Dog has always been at the forefront of PlayStation development. Crash Bandicoot and Uncharted couldn't have been made if they didn't have a really strong grasp on how to use it. I love rereading this developer "diary" where they talk about some of the challenges with making Crash: https://all-things-andy-gavin.com/video-games/making-crash/
Cell was a failure, made evident by the fact nobody has tried to use it since.
Comparing the SPEs to compute shaders is reasonable but ignores what they were for. Compute shaders are almost exclusively used for graphics in games. Sony was asking people to implement gameplay code on them.
The idea the PS3 was designed around did not match the reality of games. They were difficult to work with, and taking full advantage of the SPEs was very challenging. Games are still very serial programs. The vast majority of the CPU work can't be moved to the SPUs like it was dreamed.
Very often games were left with a few trivially parallel numerical bits of code on the SPEs, but stuck with the anemic PPE core for everything else.
Yea its not true. 7th gen was the last generation where quirks was commonplace and complete ports/rewrites were still a thing. More recent generations is more straight forward and simplified cross-console releases.
Is cell really so different from computer shaders with something like Vulkan? I feel if a performance-competitive cell were made today, it might not receive so much hate, as people today are more prepared for its flavour of programming. Nowadays we have 8 to 16 cores, more on P/E setups, vastly more on workstation/server setups, and we have gpu’s and low level gpu APIs. Cell came out in a time when dual core was the norm and engines still did multi threading by having a graphics thread and a logic thread.