Originally Posted by Particle
I think a big part of the mistake you're making is to assume anyone who wants to access GPU memory from the CPU is wanting to do so for speed reasons. It would certainly be folly to think that accessing a fast pool of memory will still be fast if you have to go through a slow link to get there. There would be little benefit to the CPU using GPU memory "just because", but there are many valid use cases where it can be faster to access GPU memory directly. The reason I would want it, as a developer, would be for the ease of working on data with different devices more easily. If you're going to chew on a chunk of data a lot, you'd copy it over (say a piece of a texture from a GPU's memory to the CPU's memory), work on it (some CPU-based transform perhaps)
, and copy it back to where it needs to go (back to the GPU since ultimately it's what is going to need it). If you're only going to do a very quick process to a chunk of data (like flip a few bits inside a large chunk of memory), you'd be better served by simply doing the process directly if copying it twice would be slower. That is a clear use case that satisfies your request's conditions.
You literally just described how GPUs worked before HTL (Hardware Transform and Lighting) came around, and how OpenCL based things work now
. Which requires pulling data back to RAM the CPU can work on, due to the insane latency making it impractical otherwise, and is indeed the reason for so little offloading of tasks to the GPU. You even acknowledged this part. You didn't satisfy any request at all.
And no "flip a few bits" is not acceptable. Come up with an actual example where the CPU would use the VRAM on a GPU as memory for itself
as stated in the post you quoted, and the basis for the entire quote tree prior to you entering.