Can someone explain the difference in texture memory used in the Cuda context, as opposed to texture memory used in the DirectX context. Suppose a video card has 512 MB of ad memory, as it is divided into read-only memory / texture memory and global memory.
eg. I have a tesla card that has totalConstMem as 64KB and totalGlobalMem as 4 GB as requested by cudaGetDeviceProperties, but there is no variable that tells me how much texture memory is needed.
In addition, how much does texture memory cost when accessed via DirectX graphical APIs, etc. I have no programming experience in these APIs, so I don’t know how and what kind of memory they can access. But AFAIK, all memory is access to equipment. Please correct me if I am wrong.
Following KoppeKTop's answer: does shared memory act like an automatic cache for texture memory in the case of CUDA and DirectX? I don't think another h / w cache would make sense. Does this also mean that if I use all the shared memory in the kernel, texture memory will not be cached?
Thank.
source
share