CUDA visual profiler无法完成执行。用于将X Config选项'Interactive'设置为false的解决方案不起作用

时间:2011-12-05 14:15:55

标签: cuda nvidia

我在执行Cuda Visual Profiler时遇到问题。分析器无法完成执行,我收到以下错误

  

程序运行#18完成。错误:应用程序:“/ home / cnode0 / workspace / cuda / pred / pre”。未找到应用程序运行0的Profiler数据文件'/home/cnode0/workspace/cuda/pred/temp_compute_profiler_0_0.csv'。

执行期间我收到以下警告

  

所选计数器“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。

我已经在这个论坛上看到了一个建议的解决方案。

CUDA Visual Profiler 'Interactive' X config option?

如上所述,我改变了我的xorg.conf,将交互标志设置为false,如下所示,并重新启动系统

Section "Device" 
Identifier "Device0" 
Driver         "nvidia"
VendorName     "NVIDIA Corporation" 
Option "Interactive" "0" 
EndSection

但这并没有解决问题。我仍然会再次收到同样的警告。 我正在运行Ubuntu 10.04 LTS和nvidia Geforce GT430,驱动程序为285.05.09 有人对此有一些线索吗?

2 个答案:

答案 0 :(得分:2)

另一种选择是减少收集的硬件计数器的数量,看看这对当前安装是否有帮助。

BTW什么是CUDA工具包版本 - 您使用的是带有驱动程序285.05.09的CUDA 4.1 RC1吗?如果您是注册开发人员,您是否也可以确认您当前的CUDA RC2版本是否存在同样的问题?

您还可以将repro测试应用程序发送至cudatools@nvidia.com

答案 1 :(得分:2)

根据您收到的错误消息 - 没有为第一个应用程序运行本身生成的探查器输出。在第一次运行中没有启用分析器计数器,因此此问题与“gld指令*或”gst指令*“无关。如果在应用程序终止之前存在显式同步调用,则分析器输出可以为空。您可以尝试在应用程序终止之前添加cudaDeviceSynchronize(),cudaStreamSynchronize()或cudaEventSynchronize()调用。您可以通过从命令行运行应用程序并检查命令行分析器输出是否包含某些数据来确认这是否是问题。

> export COMPUTE_PROFILE=1
> <application>

检查探查器输出文件“cuda_profile_0.log”。

输出将是这样的(没有每行开头的行号):

1 # CUDA_PROFILE_LOG_VERSION 2.0 
2 # CUDA_DEVICE 0 Tesla C2075 
3 # CUDA_CONTEXT 1 
4 # TIMESTAMPFACTOR fffff6de60e24570 
5 method,gputime,cputime,occupancy 
6 method=[ memcpyHtoD ] gputime=[ 80.640 ] cputime=[ 278.000 ] 
7 method=[ memcpyHtoD ] gputime=[ 79.552 ] cputime=[ 237.000 ] 
8 method=[ _Z6VecAddPKfS0_Pfi ] gputime=[ 5.760 ] cputime=[ 18.000 ] occupancy=[ 1.000 ] 
9 method=[ memcpyDtoH ] gputime=[ 97.472 ] cputime=[ 647.000 ]

您需要检查探查器日志中是否有任何方法输出。在上面的示例中,第5行是标题行,第6行到第9行有4种方法。

另请注意,即使在将交互标志设置为false之后,Visual Profiler警告消息“所选计数器”gld指令8位“,”gld指令16位“...”也是预期的。每次选择“gld指令*或”gst指令*“计数器时都会显示此消息,默认情况下会选择这些计数器。