PDA

View Full Version : CELL: A New Platform for Digital Entertainment


section
03-20-2006, 07:15 PM
I searched through the forums and didn't find any threads mentioning this Sony GDC presentation from 9th of March 2005.

http://research.scea.com/research/html/CellGDC05/index.html

I think that especially this Programming Cell -part of the slide set is still very coherent after reading about the different programming models the companies are using to utilize Cell:

http://research.scea.com/research/html/CellGDC05/20.html

All in all this slide set is for me one of the most informative and well organized wholesome presentation about the Cell architecture besides Deano's presentation at GDC'05:

http://www.ects.com/conference/presentations/dean_calver.ppt


And I feel a bit nervous because this is my first thread I have started here ... So I'm not anymore a thread virgin :cheers:

Sephiroth_VII
03-20-2006, 07:17 PM
Good find.

xbdestroya
03-20-2006, 07:17 PM
Well, it's here in fact:

http://forums.e-mpire.com/showthread.php?t=35077

Anything like that will be in the archive (as it was), although I admit it hasn't been updated with the last couple of months' happenings. I'll need to get on that when I have a stretch of time.

It's not bad to have a topic on this up though in case Cell programming models come up during the conference; we can contrast and compare the progress they've made or if any of their approaches to the architecture have shifted.

section
03-20-2006, 07:19 PM
Well was the Deano's presentation also posted? At least I tried... :blush: At least them slides (GDC) didn't catch too much fire the first time they were posted :D

And what we know now is that assembly isn't the only way anymore to tame some cellpower. AFAIK IBM got the first Cell SDK ready last November, not sure if it there were any software libraries ready for Cell before that...

Dean's presentation points out the difficulties to translate legacy code into Cell crunchable form, there are some situations where it is plausible and others where it isn't. I recall IBM's own research revealing the same situation, that if the PPU needs to be utilized too much it gets exhausted, so if you are able to parallelize as much legacy code as possible for SPE usage the better the beast growls :)

And if you are able to build your game engine for streaming model SPE utilization from the ground up then it will become something really tremendous. Maybe MGS5? :)

xbdestroya
03-20-2006, 07:22 PM
There was a thread on Deano's presentation, I have to imagine, but I didn't include it in the archive even if there was just because there was some confusion back then as to what he meant on the core breakdown. Started some confusion as to the threading capabilities of the PPE on which I think it was eventually determined that that particular slide was mistaken in nature. Anyway I don't know, long time ago and I forget exactly how it all ended up.

PS - Sct-i/on, don't sweat being a thread virgin. I like this topic for example; anything 'tech' in nature will generally be treated well enough on the forum. :)

Thank you for posting!

section
03-20-2006, 07:39 PM
OK,thanks for the heads up. Would be nice to get glimpses from such events as Devstation etc. but it would prolly require NDA'd friends.

Even those might be 'hush hush' about what they have learnt if you weren't close enough and I wonder how many NDA'd females there would be available... :P So that you could get some inside 'contacts' you see :)

I think that the confusion with Dean's slides might have stemmed from the way they have utilized Cell's PPU from the start, if they have felt the need to treat it as two 1.6 GHz processors it might not be the case with the other developers, also the release of SDK might have changed this paradigm. All in all I think they are really interesting reading from the PC developers point of view, insights for avoiding a few potholes.

xbdestroya
03-20-2006, 07:58 PM
I think that the confusion with Dean's slides might have stemmed from the way they have utilized Cell's PPU from the start, if they have felt the need to treat it as two 1.6 GHz processors it might not be the case with the other developers, also the release of SDK might have changed this paradigm. All in all I think they are really interesting reading from the PC developers point of view, insights for avoiding a few potholes.

Well, but how do you treat it as two processors? That just shouldn't work, your performance coding to that would be pretty bad honestly unless there's something special going on there. You certainly can't treat a hyperthreaded P4 as two processors and expect performance on a good level. There was a lot of confusion on that slide after it was posted, because it would imply something beyond the SMT we all felt was resident in the core, and I think in the end it went down that yeah - there doesn't seem to have been any changes made to Cell significant enough to make sense of Deano's claim in that slide.

There may have been some changes made between DD2 and now though on that level - some have been expecting/hoping for as much.

I don't know... the thread where I really remember debate going in-depth on the matter was on B3D, but since the site's down right now I can't go and try to dig up the conclusion.

xbdestroya
03-20-2006, 08:09 PM
Actually reading the presentation again, do you see the slide on 'Balancing PPU Threads?' Makes me think that it was that situation that spawned the 2x1.6GHz slide and not the other way around. It would make a little more sense viewed through that lense, though still an exaggeration.

I just shrug my shoulders at the whole issue.

section
03-20-2006, 08:14 PM
But wouldn't you believe him if he told you that they actually have organized their PPE code in a way that the main game code is run in two main threads instead of one? And if he told you that their PPE threads are synchronized in such a way that PPE actually seems like two processors?

I wouldn't :D

But I can't think of any reason he would have spoken bull in his presentation so I gather they (NT) have (at least initially) implemented their main game code in kind of a way shown.

edit: well now after you pointed it inbetween my thoughts/writing it really makes sense, two 'main' threads run in their own private spaces, interchanging information only when it is absolutely necessary so that the other game thread reaps the rewards of the other's... Probably it's (mostly) the faster performing thread that works with the SPEs? I'm still sure that they have been able to parallelize their code a lot more after these slides were initially shown and Dean has said himself they contain a few factual errors, but my thirst for any PS3 information is unquenchable :)

xbdestroya
03-20-2006, 08:24 PM
But wouldn't you believe him if he told you that they actually have organized their PPE code in a way that the main game code is run in two main threads instead of one? And if he told you that their PPE threads are synchronized in such a way that PPE actually seems like two processors?

I wouldn't :D

But I can't think of any reason he would have spoken bull in his presentation so I gather they (NT) have implemented their code in such a way as shown.

No I don't think he presented 'bull' at all - just the way Dean sometimes thinks and types, and I guess presents, he'll try to boil concepts down for people sometimes. It's just when you have a group of people who have been obsessing over an architecture since it was announced (us and Cell), it's not always easy to get a pass on what you say if something is stated that works outside of the generally accepted norms of definition for the architecture.

I mean I think it was a good presentation overall, it's just that that 'two processors' comment leads to too much contention when it's raised. I'd honestly be curious to know to exactly what extent NT's code does reflect such an attitude. I'd be surprised if it were on anything more than an occasional basis.

section
03-20-2006, 08:37 PM
I'd honestly be curious to know to exactly what extent NT's code does reflect such an attitude. I'd be surprised if it were on anything more than an occasional basis.

But keep in mind that they have originally very probably started to develop their codebase for multicore PC architectures, supposedly for Pentium 4 or such so they already had a lot of parallelization in place. They surely have been toying with different schemes of multithreading with Cell and at the moment of writing those slides NT could have been utilizing a kind of method Dean describes.

Or then again it might be a sort of lapsus as you said.

We surely could do with Dean as a regular also here. Although he's been lately mighty quiet also on B3D front :(

xbdestroya
03-20-2006, 08:49 PM
But keep in mind that they have originally very probably started to develop their codebase for multicore PC architectures, supposedly for Pentium 4 or such so they already had a lot of parallelization in place. They surely have been toying with different schemes of multithreading with Cell and at the moment of writing those slides NT could have been utilizing a kind of method Dean describes.

Or then again it might be a sort of lapsus as you said.

We surely could do with Dean as a regular also here. Although he's been lately mighty quiet also on B3D front :(

His posting is sporadic - it's like a week to week, month to month thing for him. I guess just whenever he has the time to catch up.

On the coding: Well their original target was clearly the PC - probably single core as a target, maybe SMT/multi-core - then 360 (right?), then PS3. Now, with the move from 360 to PS3, I can imagine a number of assumptions changing on the coding side of things, and remember Ninja Theory's previous platform experiences. I imagine that Cell was viewed with some trepidation going from the single core, then to symmetric cores, then to the asymetric core model of Cell.

In his recent blog post concerning PS3 and future game engines - plus comments on how they are going to be putting SPE's to work in their game - I think that whereas the Ninja Theory crew was clinging to the PPE a year ago today, they have now become a little more comfortable with the SPE's and are going to try and use them wherever they can.

This is just speculation on my part, but it's based on the 'evolution' of Deano's posts and comments I've seen over the past year on the matter. I'll ask him directly about it one day, but today's not the day.

section
03-20-2006, 09:10 PM
I imagine that Cell was viewed with some trepidation going from the single core, then to symmetric cores, then to the asymetric core model of Cell.

In his recent blog post concerning PS3 and future game engines - plus comments on how they are going to be putting SPE's to work in their game - I think that whereas the Ninja Theory crew was clinging to the PPE a year ago today, they have now become a little more comfortable with the SPE's and are going to try and use them wherever they can.


Ah feck them smilies easily delete your hard writing work at one click of a mouse button :P

Well anyway I had wrote that IBM actually encourages the developers to start with most code on PPU, then gradually starting to utilize the SPE by parallelizing certain parts of the code. Hopefully the most ambitious developers have early on caught and understood the models to already utilize the SPEs as much as possible.

And I'm still under such illusion that it wasn't until last November when the first official Cell SDK was released so if I'm not fully off track here there weren't too many ready made programming libraries to utilize the processor architecture until then.

xbdestroya
03-20-2006, 09:24 PM
Check it out, I finally found the old thread I was thinking about. I guess after all the analysis I thought was resident in that thread, it really all boils down to this:

Thanks, updated it.

That whole section underwent a lot of changes... originally I had lot more details on why its best to think about it like that but then that information hasn't been publically disclosed so I removed some of the low-level details...

So who knows???

On the comment of the dev kits, the Cell-equipped dev kits had been going out for some time, so library releases aside, at the least devs were able to get their feet wet with Cell before even the XeCPU was shipping in 360 kits.

section
03-20-2006, 09:34 PM
so library releases aside, at the least devs were able to get their feet wet with Cell before even the XeCPU was shipping in 360 kits.

Yeah, presumably so that they could start developing middleware and software libraries for either themselves or the other companies.

That whole section underwent a lot of changes... originally I had lot more details on why its best to think about it like that but then that information hasn't been publically disclosed so I removed some of the low-level details...

So there were some NDA sections then... hmm, interesting. Beside all Cell pondering now we _really_ NEED SOME RSX INFO!! I'm surely not alone here :)

Now where is Version these days? It seems he isn't very well liked character in B3D circles but I seriously believe he has got some true contacts. If he's even close to the truth with his ramblings about RSX technology then we're in for a treat.

I would be happy even with a confirmed Nvidia 7600 GT level performance...