在Ubuntu 11.04上的computeprof中启动应用程序时出现以下警告:
所选计数器“gld指令8位”,“gld指令16位”,“gld指令32位”,“gld指令64位”,“gld指令128位”,“gst指令8位”,“gst指令16位” ,“gst指令32位”,“gst指令64位”,“gst指令128位”可能导致GPU内核运行时间超过驱动程序的看门狗超时限制。在这种情况下,驱动程序将终止GPU内核,从而导致应用程序错误,并且分析数据将不可用。选择这些计数器时,建议将X Config选项“Interactive”设置为false。
我在哪里设置此配置选项?
在Ubuntu上分析应用程序时,我也没有得到64b和128b加载和存储的任何计数,而我在OS X上运行分析器时看到它们。“交互式”配置选项是否也会影响这个?请注意,内核似乎没有超时;它们在默认超时30秒之前就完成了。
这是Ubuntu上的CUDA 4.0.17和OS X上的4.0.19。
答案 0 :(得分:9)
此选项可以在/etc/X11/xorg.conf
中设置。只需将Option "Interactive" "0"
添加到GPU的设备部分即可。以下是我的设备部分:
Section "Device"
Identifier "Device0"
Driver "nvidia"
VendorName "NVIDIA Corporation"
BoardName "GeForce GTX 460"
Option "Interactive" "0"
EndSection
我在ubuntu中运行相同版本的CUDA,但我正在使用OpenCL。使用其中一条指令进行性能分析会导致高CPU使用率并且永远不会完成(我必须终止进程) - 即使禁用交互模式也是如此。无论如何,你可以尝试一下。
还要确保验证GPU的计算能力,并检查是否支持所请求的计数:Visual Profiler User Guide。虽然这似乎不是你问题的原因,因为它在OS X中工作。