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

Nvidia CUDA Profiler's timeline contains many large gaps

我正在尝试使用 Nivida Profiler 分析我的代码,但我在时间轴中出现奇怪的间隙,如下所示:

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

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

显示器用的是Intel集成显卡,不是Nvidia。所以,Nvidia 显卡只是 运行 代码,没有其他任何东西。

我也启用了 CPU 分析来检查这些差距,但没有显示任何内容!

此外,没有启用任何调试选项(-G 或 -g) 这是 "release build"

我的笔记本电脑规格:

有没有办法追踪这些空闲时间段内发生的事情?

谢谢,

恐怕没有自动方法,但您可以在代码中添加自定义跟踪以查找发生了什么:

为此,您可以使用 NVTX。

点击某些 tutorials or documentation 的链接。

这些分析漏洞可能是由于数据加载、内存 allocations/initialisations 由主机在内核执行之间完成的。