From Programming Guide, it is evident AMD GPUs have L1 cache and L2 Cache. I have a few question regarding them:
1. Are both these caches read only? So any writes have to directly written in global memory?
2. As i know, L1 cache is available for every read from GPU's global memory, but L2 cache is only available when images are being used. Is it true?
L1 and L2 are both R/W on Southern Islands GPUs. L1 is non-coherent so writes have to be marked as writing through to L2 and reads have to be marked as reading from L2 to guarantee correct behaviour.
Both caches were read-only on earlier archs with separate caches handling writes to memory.
Thanks for the explanation. A few more questions though
What do these caches corrospond to in graphics pipeline. (I am always confused whether texture cache and L2 cache are the same or not?)
Also I understand that L1 cache is available to every read, but L2 cache is (2D type) and used only for images. Is this true?