Made designing/porting games a massive headache though because nothing else was like it.
Made designing/porting games a massive headache though because nothing else was like it.
I think neither Sony nor anyone else expected the consumer CPU and GPU industry to evolve so quickly in that time, otherwise they would not have spent hundreds of millions developing anew architecture from scratch. Intel also made the same mistake back then when they tried to reinvent the industry with the new Itanium CPU architecture. Hindsight 20/20.
Those years were indeed wild for tech progress. You bought a new CPU, suddenly two years later you have 64 bit CPUs as the new thing. You then bought a 64 bit CPU to be like the cool kids and suddenly dual core CPUs are all the rage.
I wonder how many PS3 games ignored the Cell processor and just developed for the CPU and GPU?
It would have been a library.
> I wonder how many PS3 games ignored the Cell processor and just developed for the CPU and GPU?
Essentially none.
A library can be convenient to use or not. I had one afternoon with the Cell and it wasn't a pleasant one.
Gabe Newell famously sounded off about how useless it was and wouldn't transfer to any other hardware, but he ended up being wrong. The architectural model forced on you by the SPEs is the model that the industry (not just games but any compute intensive work) has embraced for the heavy multicore but coherent system world.
Rather than the "thread per vague activity" model, we've embraced a one thread per core with a work stealing scheduler walking a DAG of chunked compute tasks.
For a modern view of this, this is exactly how Rust's rayon library works.
The whole thing reminds me of a lot of the complaints about the N64, a lot of which ended up being the fact that DRAM was no longer a single cycle away like it was for the SNES. Yes cache conscious code is more difficult to write, but that memory hierarchy architecture was more a harbinger of the new world rather than a one off weirdness of a single console.
To be fair the PS3 port of the Orange Box runs like absolute crap in many instances. Although I believe it was developed by EA, not Valve.
Maybe - the Orange Box at least was outsourced to EA and the performance was reportedly not great. I think Portal 2 was done in-house though and I don't remember anyone complaining about it.
I can't recall if if had all the details regarding adding a GPU to the PS3, but I remember it had stories about the awkwardness of having the IBM Cell team also working on Microsoft's Xenon CPU for the 360, which IIRC used modified Cell PPE cores.
This was another interesting take on the CPU for consoles. The 360 was born with a GPU, however.
Then they tried the 2 Cells and software rendering approach, to try and keep it as an "in house" solution.
Finally they went to Nvidia and we got the final Cell + RSX solution.
In the design phase they were expecting almost 5ghz at launch, and to hit around 10ghz at the end of the product lifecycle. When the process guys came back later to let the architects know the reality we've sort of now all internalized (high end consumer electronics can expect ~3ghz with good cooling solutions) a lot of simple but fast pipeline designs stopped making sense. These are the exact same pressures that killed off the Netburst architecture too, making intel go back to a PIII design and make it smarter rather than clock markedly faster.
But, even that wasn’t as bad as it was made out to be. People rightly moan about the awkwardness of asynchronously moving data between main RAM and the SPE memory. What they don’t often mention is that the latency of those moves was about 500 cycles —the same latency as a cache miss on the PPE CPUs!
So, which was worse: implicitly waiting 500 cycles all over the place? Or, explicitly scheduling 500 cycle waits at specific points? Unsurprisingly, everyone preferred the first option :P
The market for the Cell never materialised in the end, but it could have turned into something a lot more interesting.
Now it's impossible to beat commodity SoCs on that front.
PS3 Cell could do about 154 GFLOPs across it's 7 cores (6 SPUs and 1 PPU, excluding the GPU), while Xeons were in the low double digits. What really was awkward about the Cell architecture was the DSP-style nature of it, which works great for something like shaders or audio processing with a clear pipeline, but not for general purpose computation. It was really a successor to the PS2 in this regard, where data flowed between specialized and memory constrained processors using a DMA.
> Sony nor anyone else expected the consumer CPU and GPU industry to evolve so quickly in that time
PS3 used an NVidia GPU. Though there was some clunkiness around sharing memory between the Cell and GPU compared to the UMA on PS4, but not especially so compared to a graphics card on a desktop machine.