The SPU’s are hungry - Maximizing SPU efficiency on Far Cry 3

The Far Cry 3 PS3 engine is extremely SPU-intensive, with over 60 different job types and 1,000 job instances executed each frame. Much development effort has been spent optimizing the scheduling and execution of SPU jobs—in particular in reducing the scheduling load on the PPU. This article will describe some of the techniques used in the Far Cry 3 scheduling system APIs, which manage each of the dependencies and synchronization paths that a PS3 game needs: SPU job(s) to SPU job(s), SPU job(s) to PPU task(s), and SPU job(s) to RSX command buffer.

Read Full Story >>
The story is too old to be commented.
wishingW3L2036d ago (Edited 2036d ago )

Sony should have kept the Cell for the PS4. Devs already know how to work it and they would have saved tons of money on R&D too.

Those APU CPUs are way weaker than current console's CPUs! Cell with 16 SPE's, 4GB of Ram and a decent card like an HD 5770 would have been a beast console and really cheap. But now we are gonna get an overpriced weak console with a freaking APU. =/

DigitalAnalog2036d ago (Edited 2036d ago )

Thought I'm unfamiliar with the technical aspects in general but it seems to me they wanted a more unified RAM this time around since working on the "cell's" main criticism is that they have to not only deal with the smaller VRAM but independently work out the kinks of the cell architecture itself. However, it seems the latter is no longer the issue which makes your point a lot more sense.

On a side-note I really applaud developers like these that take their time not only to work on the PS3 but to be open about the details regarding the development.

sjaakiejj2036d ago

We don't even know what specs the Ps4 has, only a bunch of fabricated rumors come to mind.

I'd say wait with this comment until we actually know what the PS4 is made of.

dboyman2036d ago

Even if they don't use the Cell as main CPU for PS4, least offer a model with a cell included for PS3 backwards compatibility....

Computersaysno2036d ago (Edited 2036d ago )

CELL isn't a patch on the flexiblity/gaming performance of a 4 module 8 core x86 CPU, even if it happens to be a god forbid AMD (piledriver APU) bulldozer core.

The extreme lengths gone to make this game (and countless others) match up to the ridiculously simpler and no doubt cheaper and quicker to develop for Xbox 360 version are just not worth it in the current economic climate, nor the future where game development costs are only going one way.


CELL processor development is effectively dead for many good reasons. These reasons are why it seems ever more likely the next Playstation hardware would use an APU design/mildly customised off the shelf. A design that would be vastly cheaper and easier to create and produce than the huge costs sony were hit with creating CELL. It is the done thing these days to license hardware and then configure it as you wish. Apple do nothing else with Ipads and Iphones, everybody now just licenses ARM and GPU designs for their smartphones or tablets.

There are far too many pros using existing licensed designs these days over restarting a development project for an updated CELL and pouring easily hundreds of millions of dollars into it with no guarantee it'll actually work out better than something off the shelf.

In fact wasn't that the exact scenario we saw with PS3 and 360 anyway? The result is obvious. 360 is at no real disadvantage technically against PS3 for using more conventional and cheaper hardware, and never was. 360 even came out a whole year earlier, PS3 was delayed because of hardware niggles.

Does anyone expect the PS3 version of Far Cry 3 to massively outstrip the 360 version? Of course not, the non deluded of us. The safer bet is actually that 360 will edge it, as per maybe 8/10 multiplats.

Lets try to live in the real world.

Muerte24942036d ago

is superior on the 360. If that were the case then why would DICE lead console platform for BF3 be ps3? Also you narrow-minded way of thinking leads me to believe that you only own one console. You fail to mention the countless first party titles that look absolutely amazing on ps3, each one better than the last. Xbox360 only has Halo 4 and Gears 3. Spare us the whole "xbox360 and ps3 are equal in power" when almost every serious developers has claimed otherwise.

lonix2036d ago (Edited 2036d ago )

"PS3 was delayed because of hardware niggles."

No ps3 was delayed for the blu-ray standard to be finalized

MasterCornholio2036d ago

Microsoft released the hardware before it was finalized which is why so many launch 360s broke down. Sony on the other hand took their time to finalize the hardware which is why the PS3 barely had any problems at launch.

RROD< Reliable console

Motorola RAZR i

Motorola razr i

Computersaysno2035d ago (Edited 2035d ago )

You hopelessly miss the point as I knew many would. CELL has not enabled PS3 to outperform 360 so much that it is blatantly a better machine, despite costing sony a huge amount of money.

Also where did I say that every multiplat is better on 360? You can't read. I said 8/10 multiplats roughly are better on 360. CELL certainly didn't help there either did it? It has been unarguably a hindrance for multiplatform parity this generation.

PS3 was delayed because bluray wasn't finalised? Well, even if you believe that to be the sole reason, bluray is hardware. So that statement is still entirely true. What was your point exactly????

Microsoft we know had plenty of problems with their hardware.

All besides the major point I made. CELL has done absolutely nothing to help PS3 beat xbox 360 in terms of sales or games or profitability. Whereas Microsoft's choice of hardware, timing and pricing has done everything to help 360 take a huge chunk out of the market.

360 is not significantly less powerful despite the fact the PS3 hardware cost so much more to develop, manufacture, and then sell. Sony's hardware choices were less than brilliant when you consider this generation in hindsight and microsoft's were particularly clever.

You can bang on and on about exclusive this and game that but unless you are a massive liar, you won't deny that 360 has been successful for microsoft and Ps3 somewhat underwhelming in context of the state of the industry prior to this generation. PS3 has undoubtably underperformed, which is why sony have lost so much money on it. This isn't rocket science, its sheer logic at work.

How obvious is it now sony trying to out tech everyone has really done it no good whatsoever. CELL is an absolute perfect example of that, the hugely expensive architecture adding nothing to the games industry.

CELL is still dead, and it'll never be in the next playstation for all the reasons I cited.

No amount of denial can change this, I'll guarantee that now. when you see this, you'll have to remember my comment and accept it is accurate and true.

+ Show (1) more replyLast reply 2035d ago
soljah2036d ago

wishingw3l i was thinking the same think. all the ps4 needs is a faster updated cell. a good graphics card update, increase the on board memory and add wireless n and increase blue ray speed.
have all sku's come with a internal 16gig flash drive and a empty hard drive bay thats able to accept any size and speed hard drive including optimized for ssd's.
the system could be a beast

Shaman2036d ago

Everything is going into exact opossite direction. Great GPU, decent CPU. There is really no reason to "outsource" something graphics related to CPU when GPU does it much faster. It only adds complexity and it costs more (time and money).

Alot of 3rd party big houses like Ubi, EA, R* and the rest have great SPU heavy engines, but its obvious it still doesn't beat 360 easily. 360, as the programmer on this blog said, has VMX units. These are heavy vectorized units similar to SPUs (smaller though) that can be used to aid GPU when needed in some situation. MS put MEMEXPORT function in GPU that acts like primitive GPGPU, it was pretty cheap and smart. So, its pretty understandable why Sony won't go with Cell again.

ProjectVulcan2036d ago (Edited 2036d ago )

Indeed. CELL is mostly a moot point and side note in computing history now when we live in the age of CUDA and OpenCL APIs with GPUs designed with compute in mind from the get go, which didn't really exist mainstream when CELL was conceptualised. Now it does. So PS3's CELL can do a couple hundred gigaflops single precision compute. A midrange Radeon can do more than 10 times that.

The things that CELL does better than a conventional x86 CPU(parallel tasks), a modern GPU would do vastly better than CELL for the largest part.

The things CELL and GPUs are hopeless at (branching for example), a modern multicore x86 CPU does very well.

Which leads to the inevitable conclusions that you may as well have two masters of their trades working together than a jack of all and master of none, like CELL.

When you have a really big demolition job, you use a GPU. You use a bulldozer.

When you want to crack a nut, you use a CPU. You use a nutcracker.

CELL is a sledgehammer. It can often do either job, but it'll be a poorer choice for either task...

Muerte24942036d ago

you're anti-Sony and everyone knows it. You commenting on speculated spec of a system not even announced yet. Why are you reacting negatively to an article about a developer who chose to share how they were able to program a game for ps3? So it's bad that a developer actually took the time to develop a game for the ps3 instead of just porting it? How many awards has 360 taken for best graphics? I distinctly remember GOD of War 3 (exclusive) winning it in 2009.

sjaakiejj2035d ago

VulcanProject - That's a really poor analogy.

The size of the job doesn't matter in terms of performance, it's the nature of it that matters. There are quite a few graphical calculations that a CPU is much better at performing.

Shaman2035d ago

I dont understand what you are talking about. I'm just replying to post that PS4 should have Cell, it shouldn't, IMO of course and everything points out to the fact that it won't.

ProjectVulcan2035d ago (Edited 2035d ago )

Its a perfectly good analogy, for the layman it is good enough. Especially when you consider that CELL and GPU are designed to be massively parallel. Pointless arguing over semantics when the point was expressed more than adequately.

You unfortunately took an analogy just that as literally meaning size of a job which wasn't the case, it was more about use the right tools for the job in hand. Just as you wouldn't use a nutcracker to demolish a building you wouldn't use a bulldozer to crack a nut. You wouldn't use a sledgehammer for either, although you could, it would be cack handed and inferior.

If you have a massively parallel task, you would use a GPU these days and not CELL, because it is patently better.

If you have a lot of branching code and conditionals such as that, you would use something like an x86 because it is ridiculously better than CELL at it.

CELL is a master of no key aspects of game production. Sony failed in their attempt to use CELL as a GPU because it was no good at it versus a conventional GPU. But they still chose to use it as a gaming CPU with extremely limited success.

They would have almost certainly been better off with a better GPU and more conventional CPU, like a PC or Xbox 360. Cheaper too.

+ Show (2) more repliesLast reply 2035d ago
BitbyDeath2036d ago

Sony did buy back the Cell factories a few years back so it is still possible Sony will go with them again.

+ Show (3) more repliesLast reply 2035d ago
yewles12036d ago


So they just chose to turn the SPU's into threads?

Ju2036d ago (Edited 2036d ago )

I have to admit I don't even know what SPURS is, but if I'd take a wild guess I'd say it's Sony's PS SDKs SPU job manager library.

Anyway, if you read that article it is pretty clear this is no simple "SPU thread scheduler".

They reduced latency on the PPU dramatically and can initiate low overhead jobs directly from the RSX (with minimal overhead) to basically turn the SPUs into a GPU co-processor (and they do this to avoid race conditions between PPU and RSX scheduling SPU jobs at the same time which would simply kill the benefits). The article mention what they offload from the RSX to the SPUs. Quite nice, actually.

Quite an impressive feed. Curious to see how the game plays. I hope there is a significant benefit which we can actually see. Looking forward to it.

yewles12035d ago

SPU Run Time System (SPURS) is a method of synchronizing the SPE's together efficiently as threads rather than the streaming co-dependent cores that they are.

Ju2035d ago

Nice link to that presentation. Haven't seen this before. Interestingly, this does away with the argument that the PS3 has only 256MB video mem. Didn't know that either. many things I don't know. Doesn't say how much penalty you get on using sysmem as vmem (yeah, they say it's slower, of course..but by how much?).

I would have thought most people write their own SPU scheduler anyway - I played with those a little when we still had Linux. Strict waterfall (= streaming) is/was always limited. SPURS unifies that all, huh?

But still, Ubi uses SPURS as a framework, this posted doc expands on that quite a bit it seems.

Knushwood Butt2036d ago

Sounds like they really make the effort to develop the PS3 version.

Looking forward to this one.

Dark_Overlord2035d ago

After all the crap Ubi have spouted in the past, and the usually disappointing final results of their games, i'll take a wait and see approach.

artdafoo2035d ago

Good to know there are still some developers out there trying to maximize each console to the fullest instead of rehashing their crappy old engine and using the games name to sell copies, yeah i'm looking at Treyarch, whats left of Infinity Ward, Clawhammer or whatever the eff you call yourselves ! Hope you hacks read the article and take notes.