我正在尝试优化我的OpenCL内核,而我现在所拥有的只是NVidia Visual Profiler,它似乎相当受限制。我想看看内核的逐行配置文件,以便更好地理解合并等问题。是否有办法获得比Visual Profiler提供的更全面的分析数据?
答案 0 :(得分:4)
我认为AMD CodeXL正是您所寻找的。它是一组包含OpenCL调试器和GPU分析器的免费工具。 OpenCL调试器允许您对OpenCL内核和主机代码进行逐行调试,查看不同工作组中的所有变量,查看发生的特殊事件和错误等。 GPU分析器有一个很好的功能,可以生成一个时间线,显示程序在数据传输和内核执行等任务上花费的时间。
有关详细信息和下载链接,请查看http://developer.amd.com/tools-and-sdks/heterogeneous-computing/codexl/
答案 1 :(得分:1)
不,没有这样的工具,但您可以分析您的代码更改。尝试测量代码的速度,更改内容然后再次测量。 clEnqueueNDRangeKernel有一个Event参数,之后可以与clGetEventProfilingInfo一起使用,定时器非常清晰,精度是以微秒为单位测量的。这是衡量单独代码部分性能的唯一方法......
答案 2 :(得分:1)
我没有测试过,但我刚刚找到了这个程序http://www.gremedy.com/gDEBuggerCL.php。 描述是:“这个新产品为OpenCL开发人员的世界带来了gDEBugger先进的调试,分析和内存分析功能......”
答案 3 :(得分:1)
LTPV is an open-source, OpenCL profiler可能符合您的要求。目前,它只能在Linux下运行。
(披露:我是这个工具的开发者)