View Full Version : CAL 1.4 : What is a "UAV"?
codedivine
21-Mar-2009, 04:26
So there is some weird member in the CALdeviceattribs structure called numberOfUAVs. What is a UAV? On a radeon 4850, the value of this is 1.
Similarly there is a member called bUAVMemExport which is also 1.
Any idea of what is a UAV?
I came across this in the IL language specification and was stumped. Looking again, "Fence for synchronization threads, and/or LDS and/or global memory or UAV" on page 154's header, where it also says "(1 = all prior writes to global memory and UAV surfaces by this thread in program order become visible to all other threads) Note that both compute and pixel shaders can use this bit in the FENCE instruction. This is the only time that a non-compute shader can use a FENCE instruction. The field name is "_memory".
First guess, "user accessible video", as in user accessible video surface?
It could be another (incorrect?) name for GDS, I suppose (this term appears only once on page 243).
Jawed
SuperCow
21-Mar-2009, 13:42
Unordered Access View, this is the DX11 term for surfaces that you can bind to the Compute or Pixel Shader stages for arbitrary write operations.
Presumably that's actually a read/write surface, since it has a fence. And, presumably, this is on-die not off-die like global memory.
Wonder how big it is, and whether it's shared by all clusters. Wonder if it's different from GDS.
Jawed
codedivine
21-Mar-2009, 16:50
So UAV is just another name for a global buffer intended as a target for scatter?
mhouston
21-Mar-2009, 16:55
SuperCow has it correct. It's the updated Microsoft term for read/write surfaces and is the same as the 7XX global buffer.
codedivine
21-Mar-2009, 17:24
Thanks!
vBulletin® v3.8.6, Copyright ©2000-2013, Jelsoft Enterprises Ltd.