• Hey Guest. Check out your NeoGAF Wrapped 2025 results here!

Someone explain MEMEXPORT to me please!!!

It's basically more general system memory access for the shaders. It'd allow you to pull data from and push data to memory in a little more flexible manner. The traditional way for shaders to do this is to store data in texture maps and the like (e.g. render results to a texture map, read results in from a texture map) - with memexport you can read and write vectorised data, so it's a bit more granular.

It'd make things easier for using the GPU for non-graphics tasks - you don't have to think so purely about how to map things to graphics paradigms in terms of memory access - and it offers another way to help get around instruction limits and the like.
 
gofreak said:
It's basically more general memory access for the shaders. It'd allow you to pull data from and push data to memory in a little more flexible manner. The traditional way of doing this is to store data in texture maps and the like (e.g. render results to a texture map, read results in from a texture map) - with memexport you can read and write vectorised data, so it's a bit more granular.

It'd make things easier for using the GPU for non-graphics tasks, and offers another way tp help get around instruction limits and the like.
? And what are the specific uses for it in games?
 
Wait a sec....are you saying you could use Xenos as a sort of vector processor??

Sort of a GPGPU??


If so, will it be an either/or situation?

What I mean by that is that could I, as a developer, use say 70% of Xenos resources towards normal GPU tasks and the remaining 30% towards GPGPU tasks?


Would this ratio be controllable/adjustable on a per-frame basis (as is the case with the Pixel/Vertex UMA mix)?


*intrest rising*
 
For non-graphical tasks, just think of it as being able to use the graphics chip to do math, if the game is not GPU bound... Kind of like a co-processor or a VU like functionality...
 
dorio said:
? And what are the specific uses for it in games?

Most talk I've seen around it has centered on the potential for non-graphics tasks e.g. physics. Such work is doable without it, but this makes it easier.

Kleegamefan said:
Wait a sec....are you saying you could use Xenos as a sort of vector processor??

Sort of a GPGPU??

Yes. You can use any GPU like this, but memexport helps. There are obstacles still of course, like fitting tasks into the computational model available on GPUs.

Specifically in terms of physics, I think anything done on the GPU would also need to be completely independent from the CPU, and that could be difficult. Numerical stability is of the utmost importance with physics, and if your CPU and GPU are treating numbers differently, it'd be a recipe for disaster to mix them.

Kleegamefan said:
If so, will it be an either/or situation?

What I mean by that is that could I, as a developer, use say 70% of Xenos resources towards normal GPU tasks and the remaining 30% towards GPGPU tasks?


Would this ratio be controllable/adjustable on a per-frame basis (as is the case with the Pixel/Vertex UMA mix)?

Not quite sure what you mean. But obviously you'd be trading off against available graphics power.
 
The GPU is extremly fast at some types of calculation, much faster than any general purpose cpu including Cell and the XBox360 CPU. Usually this power is only useable for vertex and pixel shaders. With memexport you can write shaders that don't directly calculate any pixel or vertex data, but calculate something different instead and write it back to memory.

Or to phrase it even simpler: The GPU can do some stuff that would usually need to done by the CPU.
 
:0

That is pretty rad!!!!

In a way, this seems like Xenos/C1 used in this manner could be the Ying to CELL's Yang?


Put another way, Xenos can do XeCPU-type tasks (AI/Physics/Animation ops) the same way CELL can do RSX-type tasks (Rasterization/Vertex setup,pixel ops)...

Am I way off base here?



P.S. IMO, in a perfect world, CELL+Xenos would be a reality :D
 
_bla_ said:
The GPU is extremly fast at some types of calculation, much faster than any general purpose cpu including Cell

Very questionable. In terms of programmable floating point power, Cell is roughly on par with Xenos at least. The computational model is much less restrictive, has much more local memory/cache etc. I think for any of the kind of work we're talking about here, Cell would be much, much better suited.

Kleegamefan said:
:0

That is pretty rad!!!!

In a way, this seems like Xenos/C1 used in this manner could be the Ying to CELL's Yang?


Put another way, Xenos can do XeCPU-type tasks (AI/Physics/Animation ops) the same way CELL can do RSX-type tasks (Rasterization/Vertex setup,pixel ops)...

AI could be tricky on a GPU...;)

RSX could be similarly used - GPGPU has been kicking off in a bigger way since NVidia's first SM3.0 cards - and in fact we know it has synchronised rounding/cutoff modes with Cell which would be very useful for splitting work like physics (and such functionality is as useful as better data access if you really wanted to go this route, imo..it just hasn't got a nice name yet ;)). You'd just have a less flexible data access model.

You also have to remember the prioritisation is usually graphics - which is why you've seen so much talk about going further with that on Cell. There'd probably be less appetite to go in the other direction on a GPU.
 
Specifically in terms of physics, I think anything done on the GPU would also need to be completely independent from the CPU, and that could be difficult. Numerical stability is of the utmost importance with physics, and if your CPU and GPU are treating numbers differently, it'd be a recipe for disaster to mix them.


So the problem is the difference in granularity in CPU vs. GPU?

If so, then we *might* be able to see some crazy stuffs with that new X1800 card were it not for that pesky PCI-E bus :)
 
could be the Ying to CELL's Yang

Yeah thats how I kinda looked at it, but, man is that gonna make multiplatform games a monster to code. I fear alot of Multiplatform games are gonna look real stale on both platforms until LATE in thier lives. **EA im looking at you**
 
Kleegamefan said:
So the problem is the difference in granularity in CPU vs. GPU?

The problem is the representation of floating point numbers. There's usually some error, and with simulation error accumulates over time. Trying to split work over two different chips that treat floating point numbers differently, and sharing their data, would be..really horrible. So I think assuming fp behaviour is different, you'd want any simulation work on the GPU to be completely independent from that being done on the CPU, if that's possible.
 
Kleegamefan said:
:0

That is pretty rad!!!!

In a way, this seems like Xenos/C1 used in this manner could be the Ying to CELL's Yang?


Put another way, Xenos can do XeCPU-type tasks (AI/Physics/Animation ops) the same way CELL can do RSX-type tasks (Rasterization/Vertex setup,pixel ops)...

Am I way off base here?



P.S. IMO, in a perfect world, CELL+Xenos would be a reality :D

Umm, you forget instruction set on GPU is pretty limited compared to SPEs... Dot product and a few other instructions are often used in 3D math and is extremely fast on GPU, you could theoratically batch them up and have GPU process them and spill the result back to offload it from the CPU. But it's not all that general purpose.
 
Not quite sure what you mean. But obviously you'd be trading off against available graphics power.


What I *think* I am saying ( :) ) is that in the same way vertex/pixel resource can be dynamically allocated on a per frame basis with xenos, could you also dynamically adjust the GPGPU thoroughput per frame.....ie frame one has:


20% of Xenos power used towards Vertex ops

50% of Xenos power used towards Pixel ops

30% of Xenos power used towards Vector processing ops


And then frame 2 has:

30% of Xenos power used towards Vertex ops

60% of Xenos power used towards Pixel ops

10% of Xenos power used towards Vector processing ops


In other words, the overall ratio (Vertex ops, Pixel ops, GPGPU ops) would be dynamically adaptable 20-60 times per second??
 
I don't believe Xenos makes any distinction between tasks other than whether they're vertex or pixel (if it makes that distinction at all). Anything done on the GPU will be written as a shader, it'll treat it like any other.
 
Helznicht said:
Im sure its MUCH faster than that.

I think he's looking at the average mix across the frame. Yes, the mix changes more often than that, but in the end for any particular frame you'll have spent x amount on vertex processing, y on pixel processing, and I think they're the numbers he's referring to.
 
That is intresting....

This might assist XeCPU in some of the ground it loses to CELL...

Of course the magic question is: how fast (not just feature rich) is Xenos/C1 compared to RSX???


My gut feeling says Xenos/C1 has more features than RSX but RSX *might* be a little faster than Xenos/C1....
 
gofreak said:
I think he's looking at the average mix across the frame. Yes, the mix changes more often than that, but in the end for any particular frame you'll have spent x amount on vertex processing, y on pixel processing, and I think they're the numbers he's referring to.



Yeah, I am talking about what is output to the screen and the refresh rate....

Of course, Xenos, at 500Mhz will be able to make these calulations much faster than 60times per second but they wont be displayed faster than that....
 
Kleegamefan said:
That is intresting....

This might assist XeCPU in some of the ground it loses to CELL...

Of course the magic question is: how fast (not just feature rich) is Xenos/C1 compared to RSX???


My gut feeling says Xenos/C1 has more features than RSX but RSX *might* be a little faster than Xenos/C1....

Don't forget RSX has access to main memory as well...
 
Me?

Forget that thick-ass 35GB/sec pipe??


Never!!! :D


Hey RuGalz, are you currently working with either (or both?) next gen consoles??


Opinions?
 
Kleegamefan said:
In other words, the overall ratio (Vertex ops, Pixel ops, GPGPU ops) would be dynamically adaptable 20-60 times per second??

Way more than that. More like millions and millions of times per second.
 
Kleegamefan said:
Me?

Forget that thick-ass 35GB/sec pipe??


Never!!! :D


Hey RuGalz, are you currently working with either (or both?) next gen consoles??


Opinions?

Na, not at this moment. I'm tired of making games after all the unappriciative comments on ultimate spider-man...












JK.
 
Kleegamefan said:
Oh shit.....Ultimate Spidey was your project??

That game is very cool, IMO :)


So no next gen for now?

Thanks. No next gen right now. Maybe soon, maybe not. It's still up in the air. I'm on a little break at the moment.
 
Top Bottom