Nvidia CUDA Profiler的时间表包含许多大的空白

时间:2017-06-29 07:44:07

标签: cuda nvidia profile timeline

我试图使用Nivida Profiler来分析我的代码,但我在时间线上遇到了奇怪的差距,如下所示:

_.isNull()

注意:间隙边缘的两个内核都是CudaMemCpyAsync(Host-to-Device)

我在Ubuntu 14.04上运行最新版本的CUDA,8.0.61和最新的Nvidia显示驱动程序。

英特尔集成显卡用于显示而不是Nvidia。因此,Nvidia显卡只运行代码,而不是其他任何代码。

我已启用CPU分析以检查这些差距但未显示任何内容!

Timeline Gaps

此外,未启用任何调试选项(-G或-g) 这是一个"发布版本"

Cpu Profiling is enabled

我的笔记本电脑的规格:

  • Intel Core i7 4720HQ
  • Nvidia GTX 960m
  • 16GB DDR3 Ram
  • 1 TB硬盘

无论如何都要追踪这些空白时段发生了什么?

谢谢,

1 个答案:

答案 0 :(得分:4)

我担心没有自动方法,但您可以在代码中添加自定义跟踪以查找发生的情况:

为此,您可以使用NVTX。

点击某些tutorialsdocumentation的链接。

这些分析漏洞可能是由于数据加载,主机在内核执行之间完成的内存分配/初始化。