Total/texture accessible memory by DirectX/Cuda/OpenGL -
Can someone please understand the difference in textual memory as used in reference to queued, as in context Contrary to the texture memory used is DirectX. Let's assume that the graphics card has 512 MB advertised memory, how it is constantly divided into memory / texture memory and global memory
ex. I have a Tesla card in which 64KB as Total Constmem and 4Gb as Total Globalmom, as quizzed by cudaGetDeviceProperties, but there is no variable which tells me how much texture memory is required
In addition to this, how much "textual memory" is when delivering via DirectX graphics API? I do not have experience programming in these APIs, so I do not know what kind of memory they can use. But AFAIK, access to all the memory is hardware cached. Please correct me if I am wrong.
After the reply of KoppeKTop: In case of CUDA and DirectX, what does shared memory function as automatic cache for texture memory? I think that having another H / W cache would also mean anyway. Does it also mean that if I am using the entire shared memory in a kernel, then the textual memory cache will not be available?
Thank you.
Actually, I have never done any work with DirectX, but I used to explain the situation with the Quda texture Texture simple array (cudaArray or vertical array) is stored in global memory, with cached read-write access, hence the maximum size of a larger texture on 512 MB cards is 512 megs (actually a little less, but it is not enough is). It is optimized to access data in 2D space (it has 2D slices as cache). Apart from this, the coordinates and values can be changed on reach (see CUDA programming guide for details).
No more, all memory access is cached (for CUDA devices with calculation capability 1.x) with only static and textured memory compute capability> = 2.0 (Fermi) L1 and Cache all memory access using L2 cache (or L2 only - it's configurable)
Comments
Post a Comment