我正在尝试使用nvvp来配置opencl内核。
我正在使用GTX 580运行ubuntu 12.04 64b,并验证了CUDA工具包工作正常(我可以运行并配置cuda代码)。
在尝试调试我的opencl代码时,我得到:
Warning: No CUDA application was profiled, exiting
任何提示?
答案 0 :(得分:3)
Nvidia的视觉分析器(nvvp)可用于分析OpenCL程序,但它比CUDA中的分析更加痛苦。
Simon McIntosh's布里斯托大学的高性能计算小组提出了原始解决方案(here),我可以验证它是否有效。
我总结了基础知识:
COMPUTE_PROFILE=1
其次必须提供COMPUTE_PROFILE_CONFIG
,我使用的样本(称为nvvp.cfg)包含:
profilelogformat CSV
streamid
gpustarttimestamp
gpuendtimestamp
接下来执行实际的分析,在这种情况下,我将使用以下命令描述一个名为HuffFramework的OpenCL应用程序:
COMPUTE_PROFILE=1 COMPUTE_PROFILE_CONFIG=nvvp.cfg ./HuffFramework
然后生成一系列opencl_profile _ * .log文件,其中*是线程数。
这些日志文件不能由nvvp加载,因为所有内核函数符号都有一个前导OPENCL_
而不是预期的CUDA_
,因此请快速替换这些符号像这样的脚本:
sed 's/OPENCL_/CUDA_/g' opencl_profile_0.log > cuda_profile_0.log
最后cuda_profile_0.log现在可以由nvvp导入,通过启动nvvp并运行File-> Import ...->命令行Profiler,将其指向cuda_profile_0.log并预先输入!
答案 1 :(得分:-1)
nvvp只能分析CUDA应用程序。