cuda探查器l1_全局_加载_命中和l1_全局_加载_未命中返回零

cuda探查器l1_全局_加载_命中和l1_全局_加载_未命中返回零,cuda,profiler,Cuda,Profiler,我目前正在使用nvprof分析cuda内核(cuda 5.0)。 我尝试检查未恢复的内存加载: nvprof --events l1_global_load_hit myapplication 返回: 1 0 0 0 l1_global_load_hit 以及: 返回 1 0 0 0 l1_global_load_miss 。有人知道我为什么没有得到任何东西吗?我的内核中肯定有负载 nvp

我目前正在使用
nvprof
分析cuda内核(cuda 5.0)。 我尝试检查未恢复的内存加载:

nvprof --events l1_global_load_hit myapplication
返回:

 1         0         0         0  l1_global_load_hit
以及:

返回

1         0         0         0  l1_global_load_miss
。有人知道我为什么没有得到任何东西吗?我的内核中肯定有负载

nvprof --events gld_request myapplication
返回:

                    1515884425251588442525158844252  gld_request

谢谢你的帮助

对于开普勒微体系结构GPU(Compute Capability 3.x),默认全局内存负载。

内核是否可能使用非缓存全局内存负载?您能告诉我们源代码吗?如果您使用
nvvp
并运行“内核内存”分析,您将得到全局内存加载和存储的使用百分比的简单指示,这是合并的直接表示。@RoBiK我没有为
nvcc
打开非缓存全局内存加载,有没有其他我不知道的方法可以使用它们?抱歉,源代码太大,所以不方便使用。我使用了nvvp,它显示消息“数据不足,无法满足全局加载/存储利用率”。哪一个可用取决于不同的运行。因此,我想使用
nvp
@RobertCrovella强制它,我尝试使用
nvp
,但正如我在上面的评论中所提到的,这没有成功。我不知道为什么,有什么建议吗?在读取
volatile
类型以及通过显式内联汇编时,也可以逐个指令启动非缓存加载。关于
nvvp
,当我启动具有大量块的内核和/或具有大量内核启动的程序时,我遇到了类似的问题。查看是否可以出于测试目的将程序缩小到几百个块的单个内核启动,以查看它是否可以消除
nvvp
统计数据收集问题。
                    1515884425251588442525158844252  gld_request