What exactly can Cell's SPEs be used for?

dodo3

Newcomer
Sorry, I'm new but I was just wondering what are the SPEs strong points and weak points? Can the SPEs help the RSX render graphics? What exactly are the strong points the SPEs can be used for and the weak points? Thanks.

One other thing, does anyone know the timings for the XDR RAM that is going to be used in the PlayStation 3?
 
Thread should be Locked: Redundant Discussion

About the first question:

http://www.beyond3d.com/forum/search.php


And about the second question, I don't think that the XDR timing were already undisclosed.

I'm not locking the thread right away, since the technical news are quite scarce lately, therefore there's way too many non technical threads on the forum.
There might be a Billion posts (Anand's rough estimate) about SPE/SPU/APU/S|APU, but since the tech talk % is too low, let's revisit this topic.
 
dodo3 said:
Sorry, I'm new but I was just wondering what are the SPEs strong points and weak points?
That's a much better question than your thread title is. Consider changing it (the SPEs can be used for mostly anything. It could in extreme cases make the overall execution speed slower than not using them, but it can be done ;))
Anyway, the SPEs are particularly suited to classic stream processing tasks. So, your algorithm should be easy to parallelize, the working sets should be relatively small and memory access predictable. What does that mean in practise? Well, for games you can probably use them quite easily in some areas while in others, different algorithms than those used on classic systems may be appropriate. Whether or not these are actually available and practical to implement depends on the case and largely remains to be seen. I fully expect that PS3 developers will have a lot to explore even after all the first gen games are out.
Sorry that I can't give more concrete examples, but I have not yet programmed for PS3 :devilish: and don't want to say anything wrong or flameworthy in this thread.

dodo3 said:
Can the SPEs help the RSX render graphics?
Short answer: Yes, of course they can.
Long answer:
There are many possible ideas that could use one or more SPEs to render graphics, and many have been thrown around here in this forum. I believe the biggest distinction is wether you have cell actually changing / producing framebuffer content or just helping out with a secondary task like shadow volumes. Anyway, I personally don't believe that some of the wilder possibilities (i.e. "hdr anti-aliasing on cell") will surface in actual games but I like to be surprised.
 
So i have a question also : why sony wanted to use rambus xdr ram ? The bandwitch is the same as the gddr3 , it cost more and i don't think have a different performance

I also would like to know if it is true trat xdr ram have more latency than gddr3 ram.

So why not use all gddr3 ram ?

What make this rambus xdr so special formake sony use it in the ps3 ?
 
iknowall said:
So i have a question also : why sony wanted to use rambus xdr ram ? The bandwitch is the same as the gddr3 , it cost more and i don't think have a different performance

I also would like to know if it is true trat xdr ram have more latency than gddr3 ram.

So why not use all gddr3 ram ?

What make this rambus xdr so special formake sony use it in the ps3 ?

Actually I read somewhere that XDR RAM has higher transfer rates and the clockspeed is a lot higher, how different will performance be is unknown to me.
 
XDR runs at much higher clockspeeds (about 3GHz if i remember correctly) and the latency is vastly reduced compared to DDR type of RAM. Or, that's the idea anyway...
 
london-boy said:
XDR runs at much higher clockspeeds (about 3GHz if i remember correctly) and the latency is vastly reduced compared to DDR type of RAM. Or, that's the idea anyway...

Higher bandwidth, worse latency.

Cheers
 
Naming all the likely uses would be too time exhausting.

But by now I am 90% sure I know what they will NOT be used for, and I doubt many people expect that one.
 
It's not a question of can or can't really. It's a question of performance. The SPUs range of potential performance is anywhere from perhaps a fraction of a "normal" core to perhaps multiples of a "normal" core. You can throw the most "abusive" code at them if you wish, and it probably won't complain - it'll probably run it - but you'd see it in its performance.

The performance you see is perhaps a function of effort and of how "natively suitable" your approach to a task is to the SPU. With some tasks, the most obvious approach may also be happily the best approach for a SPU - hence effort could be relatively low, and performance high. With others, the most intuitive approach may not be the best appraoch for the SPUs, and thus effort has to go up to maintain performance, otherwise it'll fall, relatively. You may have to map from the most straightforward, obvious approach to a task, to something the SPU likes to see - which may not jazz with your initial understanding of the task.

That's my understanding of it at least. I don't think it's yet exhaustively clear what is or isn't within the domain of what a SPU can perform well at, given x amount of effort/casting etc. I think it's an open ended question - how long is a piece of string?
 
Last edited by a moderator:
Fafalada said:
Naming all the likely uses would be too time exhausting.

But by now I am 90% sure I know what they will NOT be used for, and I doubt many people expect that one.

Any hints?

Speng.
 
Faf is a tease :p

Given that some devs have talked about what they ARE using SPUs for, why not share what you are not? :D
 
Fafalada said:
Naming all the likely uses would be too time exhausting.

But by now I am 90% sure I know what they will NOT be used for, and I doubt many people expect that one.

Sometimes I think you just register a new Nick and open a Thread, just for an opportunity to tease us :D
 
Back
Top