By using this site, you agree to our Privacy Policy and our Terms of Use. Close

Forums - Gaming Discussion - What do you think will happen if Sony embrace the GPGPU architecture like Nintendo for next gen?

fillet said:

The point is that each stream processor in a GPGPU is much less powerful, and when you have code that depends on other code having been processed already it limits the use of the stream processors, I'm not saying the 2 are different in terms of functionality, I'm saying they're different in terms of their useful application in terms of processing in video games for anything other than physics.

You can't just split the jobs up.

My understanding is clearly not at your level, I don't know about the technical terms but I do know about the technical limitations of stream processors on GPGPUs.

Your explanation works when it's just a few threads where code can be hand optimized, but what about when you have 100s of stream processors that you have to have running in parallel to make viable use of their processing power? That can't realistically be hand optimized given the amount of time it would take, and even if it could be there's still physical problems in that calculations need to have been worked out before the results can be used for further processing...I thought that was the whole reason that parallel computing is limited to the extent that it is?

Or am I completely wrong in how I'm looking at it?

Instead of thinking of each core as a processor, consider the entire GPGPU as a Cell SPE. You would craft a single function to run in parallel with 200 odd cores, note that the 200 cores is just the physical maximum, you don't have to use all 200 cores if you don't need to. A good example is putting 1-200 in an array. Normally, you would write the code like this:
for i=0; i<200
array[_i] = i

This will probably take about 600 CPU cycles to complete (for itierating i, copy, then jump)

if you have a GPGPU you can simply do something like this using a warp with 200 threads with 200 cores:

array[core_id] = core_id

this will complete in ~1 cycle because all the cores just need to do 1 operation in parallel.

The challenges in parallel programing is ability to split your code in parallel and to tackle bottlenecks. Cell was a bitch to program because the majority of the processor power is locked away inside the SPEs, you are literally forced to program in parallel, to get any performance from the thing. GPGPU in the next gen game consoles are sugar coating on top. Game developers don't have to use them if they don't want to but if they want to make the best looking game where every blade of grass has its own physics , then its a must have tool. Like I said in my inital post, we, gamers don't appericate grass physics much but we shouldn't write off the tool, incase someone creatively finds a use for GPGPU outside of grass.



Around the Network

Thanks for the reply Wlakiz, I'll take your word for it, nice to read your last couple of posts.



This is kind of off-topic, but is the phrase "GPGPU" going to be the next "Cell Processor" for next gen? As in everyone just throws it around with only the slightest bit of knowledge of what it is or how it works because it sounds fancy and powerful?

Over the past month this word seems to have exploded on the forums as the new buzz word. Yeah thats it, Buzz Word, thats the phrase I was looking for.



Platinums: Red Dead Redemption, Killzone 2, LittleBigPlanet, Terminator Salvation, Uncharted 1, inFamous Second Son, Rocket League

JOKA_ said:
This is kind of off-topic, but is the phrase "GPGPU" going to be the next "Cell Processor" for next gen? As in everyone just throws it around with only the slightest bit of knowledge of what it is or how it works because it sounds fancy and powerful?

Over the past month this word seems to have exploded on the forums as the new buzz word. Yeah thats it, Buzz Word, thats the phrase I was looking for.


...Seems that it's already happened.

 

Curse those lazy devs not making use of GPGPU...blah blah blah ad nauseum.