Question about L1 Cache of Nvidia GM108

Hi,

I have a question regarding the L1 Cache on Maxwell GPUs, specifically the GTX 840M.
The Maxwell Tuning Guide (https://docs.nvidia.com/cuda/maxwell-tuning-guide/index.html) says:

As with Kepler, global loads in Maxwell are cached in L2 only…

and

Local loads also are cached in L2 only…

So the GPU does not cache local or global loads. What is the L1 cache used for, then?

Since it is unified with the texture cache it is probably used for textures. The Tuning Guide also states:

As with Kepler, global loads in Maxwell are cached in L2 only, unless using the LDG read-only data cache mechanism introduced in Kepler.

So the cache can apparently also hold read-only data using the LDG mechanism. Is there any other usage for the L1 Cache? I know, there exists this opt-in mechanism to enable global loads, but I think, this is not supported for Nvidia GM108, right? Is there anything else?

Regards
Nick

From here:

The unified L1/texture cache acts as a coalescing buffer for memory accesses, gathering up the data requested by the threads of a warp prior to delivery of that data to the warp.

Hi,

thanks for your reply. I haven’t seen this information for some reason.

I would have a small follow-up question:

According to the Tuning Guide, local loads are also cached in L2 only. But the attribute localL1CacheSupported, that is also mentioned in the same Texture/L1 Cache section in the Guide, returns 1 on my Maxwell GPU.

Shouldn’t this be zero then?

I don’t happen to know what is supported on GM108, but I would trust the result of the query unless I had a reason not to.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.