CUDA Arrays are opaque memory layouts


This may be a very fundamental concept but I dont know this! I want to know what do we mean when we say “CUDA Arrays are opaque memory layouts”?


It means that the internal representation of CUDA arrays is not documented, and there is no supported way to manipulate data held in CUDA arrays. They are intended only to provide optimal data layouts for the texture hardware, and the only interfaces provided for their use are for copying data into CUDA arrays from linear memory, and texture read functions for reading data from them via the texture hardware.

They are aptly described as opaque.

They store as a Z ordered variant way to optimize spatial access locality…check wikipedia (google z curve spatial locality)

I believe Simon Green has made comments that it was done like that initially but is now no longer the case.


i c. THanks for bringing it up.