A VU program that can initiate DMA request was how one person in the know described the SPUs.
Make of that what you will.
Was that being faceteous?
A VU program that can initiate DMA request was how one person in the know described the SPUs.
Make of that what you will.
archie4oz said:A VU program that can initiate DMA request was how one person in the know described the SPUs.
Make of that what you will.
Was that being faceteous?
Just a minor correction, actual GPUs can't perform scatter ops, AFAIKPanajev2001a said:Second the SPU can initiate its own DMA requests and supports GPU-like scatter/gather DMA operations and not only that
nAo said:Just a minor correction, actual GPUs can't perform scatter ops, AFAIKPanajev2001a said:Second the SPU can initiate its own DMA requests and supports GPU-like scatter/gather DMA operations and not only that
I knowPanajev2001a said:Well, that does not make CELL look worse... on the conrary, it makes it look better IMHO.
Fafalada said:Who says anything about shading? I'm gonna decompress everything including textures on the SPUs That's why I need at least 16 dammit!ERP said:To be honest I'm still not convinced that the balance is right, how many Flops do you really need to vertex shade? What percentage of an overall game is dependant of FP performance vs Integer performance?
ERP said:Fafalada said:Who says anything about shading? I'm gonna decompress everything including textures on the SPUs That's why I need at least 16 dammit!ERP said:To be honest I'm still not convinced that the balance is right, how many Flops do you really need to vertex shade? What percentage of an overall game is dependant of FP performance vs Integer performance?
Fair enough....
when I say vertex shading I'm actually including things like tessalation and decompression.
Sure we can use extra math power, it's not really my point. I'm nore interested in how as a whole the architecture ends up balanced relative to the stuff were trying to run on it.
I still think that a lot of what your average game code does (especially outside of graphics and to a lesser extent physics) is walk through data structures and copy bits of data about. I generally refer to this as integer performance even though it has next to no integer math in it's critical path. The SPU's just aren't going to help much with this stuff. Now the PPC core might be more than sufficient for all this stuff but I can't see the future and I don't know what will drive next gen games.
How about a game like say GTA where the entire city is live all the time? Where you can kill someone on one side of town and it affects the business he owned on the other side of town, which in turn affects the cities economy, causing housing to degenerate etc etc etc... In a game like this even with half asses solutions AI cost would be astronomical by todays standards. Where today we dedicate maybe 20% of our existing resources to AI I can see that balance shifting dramatically as people start to expect more from games.
SPU's are not generically useful, there is a lot of code in your average game that isn't going to be SPU friendly.
I'm still looking forwards to having something to play with, I think Cell is intriguing to say the least.
Why do you think SPU's won't be able to process AI and logic? Because of memory access problems? Lack of bandwidth?
My impression, is that games involving simulations, with multiple elements to process simultaneously, would be greatly benefited by having independent processing units. Why do you think the SPU's wouldn't be able to deal with that?
ERP said:Why do you think SPU's won't be able to process AI and logic? Because of memory access problems? Lack of bandwidth?
My impression, is that games involving simulations, with multiple elements to process simultaneously, would be greatly benefited by having independent processing units. Why do you think the SPU's wouldn't be able to deal with that?
AAAAAARRRRRRGGGGHHH!!!!!!
For the last time, because of data locality issues.
Small local memory systems like the VU or the SPU are designed to work on compact datasets (or streaming of independant entities). Once you start distributing data between the elements in the simulation, you have a problem.
A vertex doesn't care what the one next to it is doing, an AI entity does. If you extend this logically the set of actions available to an entity is dictated by the state of many local things and a lesser number of distant things. In a complex system this set of behaviors and things is completly dynamic.
If every simulated entity contains all of the knowledge it uses to make a decision then it's trivial to parallelize. However generally you don't replicate data accross all of the entities. Example in combat I would need to know who's shooting at me and where he is. This would generally be stored with the entity shooting at me not in the the AI entity runnig.
Now this doesn't completly preclude using the SPU's for AI, it just means that the "knowledge gathering" part will not necessarilly run well in a system like that.
In small scale problems, you could probably do what havok does with physics and use "simulaiton islands", which is just dynamically dividing the data, so that ll relevant data is partitioned together, but this would have to be done on the PPC.
There are other solutions most of them trade of duplicate data, and correctness of data for storage locality.