有没有人知道费米L2缓存的相关信息?我听说它和全局内存一样慢,使用L2只是为了扩大内存带宽。但我找不到任何官方消息来源来证实这一点。有没有人测量过L2的命中延迟?那么大小、行大小和其他参数呢?
实际上,L2读取未命中对性能有何影响?在我看来,L2只有在内存非常有限的应用程序中才有意义。请随时发表你的意见。
谢谢
发布于 2012-01-16 22:36:30
这个thread in the nvidia有一些性能特征的度量。虽然这不是官方信息,而且可能不是100%准确的,但它至少为行为提供了一些指示,所以我认为它在这里可能有用(以时钟周期为单位进行测量):
1020非缓存(已启用L1,但未使用)
1020非缓存(禁用L1)
365 L2缓存(禁用L1)
88 L1缓存(启用并使用L1)
同一帖子中的另一篇文章给出了这些结果:
1060非缓存
248 L2
18 L1
发布于 2011-07-20 00:42:32
它并不像全局内存那样慢。我没有明确说明这一点的消息来源,但在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获得
https://stackoverflow.com/questions/6744101
复制相似问题