2011-02-27 113 views
7

我想优化我的OpenCL内核,现在我所拥有的全部是NVidia Visual Profiler,它似乎相当有限。我希望看到内核的逐行配置文件,以更好地理解与合并有关的问题等。有没有一种方法可以比Visual Profiler提供的更全面的分析数据?剖析OpenCL内核

回答

1

不,没有这样的工具,但你可以剖析你的代码更改。尝试测量代码的速度,更改内容然后再次测量。 clEnqueueNDRangeKernel有一个事件参数,事后可以和clGetEventProfilingInfo一起使用,定时器非常清晰,精度按微秒级别测量。这是测量单独代码部分性能的唯一方法...

1

我还没有测试它,但我刚刚发现这个程序http://www.gremedy.com/gDEBuggerCL.php。 描述:“这款新产品为OpenCL开发者的世界带来了gDEBugger的高级调试,分析和内存分析功能......”

4

我认为AMD CodeXL是你在找什么。它是一套免费的工具,包含OpenCL调试器和GPU分析器。 OpenCL调试器允许您对OpenCL内核和主机代码进行逐行调试,查看跨不同工作组的所有变量,查看发生的特殊事件和错误等。GPU分析器具有很好的功能,可以生成一个时间表显示你的程序在数据传输和内核执行等任务上的花费时间。

欲了解更多信息和下载链接,请http://developer.amd.com/tools-and-sdks/heterogeneous-computing/codexl/

+0

OpenXL - GPUOPEN仅适用于AMD处理器,这对于很多用户 – TripleS 2016-07-07 06:04:19

+0

一个主要的限制,我认为你是混合两种不同的方面:CodeXL是一个工具套件AMD是AMD的GPUOpen计划的一部分,是开源产品之一。我认为这一举措的全部目的是让业内开发人员和其他参与者扩展这些工具,以便他们能够支持更多的平台。 – AmitB 2016-07-13 22:31:11