2012-11-20 37 views
1

我想描述一下我用Cloo编写的应用程序,它使用Cloo作为OpenCL的封装。 我已经尝试了几件事... gDEBugger,AMD APP SDK,CodeXL,KernelAnalyzer ...OpenCL with Cloo:Profiler不能正常工作

将我的内核代码复制粘贴到KernelAnalyzer将指示瓶颈是ALU操作。但是,由于它只是一个内核分析器,我并不完全信任生成的信息。

为了正确分析我的应用程序,我尝试了其他工具。我尝试通过控制台使用sprofile.exe进行APP SDK配置文件,但我总是得到“无法启动应用程序:0:进程已成功终止”。我真的不知道这个问题可能是什么。

当使用独立工具CodeXL和gDEBugger时,我可以在运行.exe时看到Debugged Process Events(Threads starting,Messages),但这就是它。没有函数调用,内存信息,统计信息等......它们都是空的,就好像我没有运行应用程序一样!所以对我来说基本没用。

我真的不知道问题可能是什么。难道是使用Cloo作为包装使所有执行的操作对于Profiler不可见?

我会很感激任何提示!提前致谢!

回答

3

我只是试着用CodeXL配置Clootils.exe(带有Cloo发行版的示例),经过一些试验和错误之后,我能够使CodeXL正常工作。

我必须首先重建Cloo.dll和ClooUtils.exe,并将平台目标设置为x86。使用“任何CPU”的默认设置给了我一个“该应用程序无法正确启动(0xc000007b)”。错误。尝试“x64”给了我一个“无法配置文件”错误消息,并将ClooUtils.exe进程留在内存中。但尝试使用“x86”允许我配置文件很好。我在CodeXL中同时尝试了“GPU:应用程序跟踪”和“GPU:性能计数器”配置文件模式,并且都可以使用。

因此,这可能会提供一种解决方法,以允许使用CodeXL。

+0

当我运行一个C#项目时,我必须从CodeXL软件调试/配置文件。一切工作正常与x86!但是,在使用“GPU:性能计数器”时,我得到了蓝屏......无论如何:我现在可以通过其他功能了解我的计算。谢谢您的帮助! :) –