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

标签 cuda nvidia profile timeline

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

Timeline Gaps

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

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

显示器用的是Intel集成显卡,不是Nvidia。因此,Nvidia 显卡仅运行代码,不运行其他任何东西。

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

Cpu Profiling is enabled

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

No Debugging options are enabled

我的笔记本电脑的规范:

  • 英特尔酷睿 i7 4720HQ
  • 英伟达 GTX 960m
  • 16GB DDR3 内存
  • 1 TB 硬盘

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

谢谢,

最佳答案

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

为此,您可以使用 NVTX。

点击一些链接 tutorialsdocumentation .

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

关于cuda - Nvidia CUDA Profiler 的时间线包含许多大的空白,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44819131/

相关文章:

cuda - CUDA计算功能之间有什么区别?

cuda - 使用 CUDA 显示 GPU 优于 CPU 的最简单示例

cuda - 在应用程序运行时检查 CUDA MPS 服务器是否打开/关闭?

cuda - NVIDIA 的 GPU 是大端还是小端?

performance - OS X 上的 OpenGL 核心配置文件令人难以置信的减速

c++ - CUFFT 1-D FFT 期间出现奇怪的崩溃

c++ - 未知的 CUDA 错误 : Gpu API call

c - 使用 Cuda-C 查找表

java - 如何在 jsp 文件中获取当前的 Spring 配置文件。

Maven 多个配置文件不工作