The PS3 Licked the Many Cookie
7 days ago
- #GameDevelopment
- #PS3
- #Many-Core
- The PS3 failed developers due to its excessively heterogeneous architecture, which resisted composability.
- Many-Core architecture trades off explicit programmer control for wide parallelism.
- PS3's Cell processor had SPEs with 25 GFlops each, but even combined, they couldn't match the underpowered PS3 GPU (192 GFlops).
- Xbox360's GPU had shared computational resources (240 GFlops), allowing better load balancing than PS3's separate vertex and pixel shading units.
- Developers used SPEs for tasks like skinning and shader patching due to GPU limitations, requiring complex synchronization.
- PS3's memory architecture was inflexible, with 256MB dedicated to graphics and limited CPU access.
- SPEs had only 256KB local memory (effectively 128KB), making them restrictive compared to modern GPU compute.
- Generic C++ code couldn't run on SPEs without significant modification, forcing handcrafted SPE-friendly code.
- Naughty Dog showcased PS3's potential by tailoring their engine to its architecture.
- Original PS3 design (4 Cell processors) could have been a more homogeneous Many-Core beast (~1 TFlop).
- PS3's half-baked Many-Core implementation may have permanently damaged the concept's viability.