费米L2缓存命中延迟?

4
有人了解Fermi中L2缓存的相关信息吗?我听说它和全局内存一样慢,使用L2只是为了扩大内存带宽。但我找不到任何官方来源来证实这一点。有人测量过L2的命中延迟吗?大小、行大小和其他参数呢?
实际上,L2读取未命中如何影响性能?在我的理解中,L2只在非常内存受限的应用程序中有意义。 请随意发表您的意见。
谢谢

你所描述的听起来像是有人混淆了Fermi上的通用L2缓存和纹理缓存。后者是一种带宽放大缓存,而前者则是一种更传统的延迟降低缓存。 - harrism
请查看我在这个Stack Overflow问题中的答案,其中可能提供有用的提示。 - user984260
2个回答

3

这个NVIDIA论坛的帖子给出了一些性能特征的测量值。虽然这不是官方信息,可能并不完全准确,但至少可以提供某些行为指示,因此我认为这对这里可能是有用的(时钟周期中的测量值):

1020非缓存(启用L1但未使用)

1020非缓存(禁用L1)

365 L2缓存(禁用L1)

88 L1缓存(启用并使用L1)

同一帖子中的另一篇文章给出了以下结果:

1060非缓存

248 L2

18 L1


0

它不仅仅像全局内存那样慢。我没有明确的来源说过,但在CUDA编程指南中,它说“缓存行请求在缓存命中的情况下以L1或L2缓存的吞吐量服务,否则以设备内存的吞吐量服务。”所以它们应该是不同的,这才有意义,为什么NVIDIA会放置一个与全局内存速度相同的缓存?由于缓存未命中,平均而言会更糟。

关于延迟,我不知道。L2缓存的大小为768KB,行大小为128字节。CUDA编程指南的F4部分提供了一些更多的信息,特别是F4.1和F4.2部分。该指南可在此处获得 http://developer.download.nvidia.com/compute/DevZone/docs/html/C/doc/CUDA_C_Programming_Guide.pdf


感谢您的回答。无论如何,如果有关于延迟的线索,将不胜感激! - Zk1001

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接