Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
就引用的局部性而言,L2 缓存如何在具有 Kepler 架构的 GPU 中工作?例如,如果一个线程访问全局内存中的一个地址,假设该地址的值不在二级缓存中,那么该值是如何被缓存的?是暂时的吗?或者该地址的其他附近值是否也被带到 L2 缓存(空间)?
下图来自 NVIDIA 白皮书。
统一 L2 缓存引入了计算能力 2.0 及更高版本,并继续在 Kepler 架构上得到支持。使用的缓存策略是 LRU(最近最少使用),其主要目的是避免全局内存带宽瓶颈。GPU 应用程序可以展示两种类型的局部性(时间和空间)。
每当尝试读取它在缓存 L1 和 L2 中查找的特定内存时,如果未找到,它将从缓存行加载 128 个字节。这是默认模式。从下图中可以理解为什么 128 位访问模式会产生好的结果。