What is the L1 cache used in NVIDIA maxwell GPUs?

NVIDIA launched Maxwell GPUs for a while, but as I read the Maxwell Setup Guide, I was confused about the functionality of the L1 cache. In the Kepler era, access to global memory was cached only in L2, and L1 was used to cache access to local memory, which was caused by the spill of registries. From reading an NVIDIA document, this caching of local memory is the only thing I know that will be useful for L1 cache. However, in section 1.4.2.1 of the โ€œMaxwell Configuration Guideโ€, NVIDIA says:

Like Kepler, the first generation Maxwell global loads are cached only in L2 ... Local loads are also cached only in L2

CUDA 6.0 added two new device attributes globalL1CacheSupported and localL1CacheSupported to check if the device supports the global L1 cache and L1 local memory cache, so I checked these two attributes on the GTX 780 and GTX 980 cards, and the result confuses me even more:

        globalL1CacheSupported    localL1CacheSupported

GTX780            1                         1

GTX980            0                         0

Result The GTX 980 checks the statement in the Maxwell Configuration Guide, which puzzles me, because if so, what is the L1 cache used for? Another thing I canโ€™t understand is the GTK 780 is a GK110 card, from white paper GK110, Keper also caches global memory access only in L2, so it makes no sense to me that globalL1CacheSupported returns 1 for a GTX 780 card. I hope , someone can clarify my riddle.

+4
1

Maxwell L1 . Maxwell, :

" , Kepler GK110B, GM204 , L1/Texture. , GK110B: -Xptxas -dlcm=ca nvcc ."

GK110B GK110, K40. K20/K20x L1 ( ). K40 L1 , K20/K20x. , L1 .

+6

All Articles