Valve’s Multithreaded Programming
the guys over at valve are the shit. they’ve apparently figured out a hybrid threading model (combining coarse and fine-grained threading) to actually pull some crazy power out of those multi-core processors.
In one demo, over 500 tiny critters maneuvered around fire and complex obstacles, even tipping over a crate with their combined weight (physics calculations can also be multithreaded). The demo was run on a 2.6GHz Kentsfield CPU with four cores and 2GB of RAM. On a single-core 3.2 GHz Pentium 4, fewer than 100 critters could run around at the same frame rate, which looked much less impressive.
yeah. they are pulling mostly linear power out of it. so, it’s actually like having 4 processors instead of one.
what else has a killer multi-core-crazy processor in it?
As far as console ports go, Gabe mentioned that Valve is already putting their hybrid threading technology to good use for their Xbox 360 projects, but could not comment about its applicability to the PS3 as they were not doing any PS3 ports themselves and had no PS3 systems in their building at the time. One of the Valve programmers did mention that the PS3’s architecture is not quite as suited to their frameworks due to its asymmetric approach and the fact that the SPU (Synergistic Processing Units) could not directly access main memory.
it’s a bummer the ps3 hardware designers can design ce products but not “computers” and for sure not well enough to know what needs to happen for software over the next 5 to 10 years to unlock this “potential” they’re always flailing about.
how long before the other commercial engines start working through this stuff. mad ups for valve.
UPDATE: i should note, too, that the above “demo” is a 2.6 GHz processor with 4 simultaneous threads. note that it “roasts” a single threaded 3.2 GHz processor. since i didn’t explicitly state it, the xbox 360 has 6 (not 4) threads running at 3.2 GHz (not 2.6 GHz). so, basically, better than all of the above in their pc demo.