如何在Nvidia GPU上调试OpenCL?

如何在Nvidia GPU上调试OpenCL?,opencl,gpu,gpgpu,nvidia,amd-processor,Opencl,Gpu,Gpgpu,Nvidia,Amd Processor,有没有办法在Nvidia GPU上调试OpenCL内核,即设置断点和检查变量?我的理解是,这不允许OpenCL调试,只允许在自己的设备上进行调试。gDEBugger可能会对您有所帮助(尽管从未使用过),但除此之外,我所知道的没有任何工具可以设置断点或检查内核内的变量。如果内核是长内核,可能会尝试保存内核的中间输出。很抱歉,我不能给你一个神奇的解决方案,调试OpenCL非常困难。提到以前版本的gDEBugger支持Nvidia卡,但这项工作已经停止。这个版本和支持它的驱动程序仍然可用吗?似乎我应该

有没有办法在Nvidia GPU上调试OpenCL内核,即设置断点和检查变量?我的理解是,这不允许OpenCL调试,只允许在自己的设备上进行调试。

gDEBugger可能会对您有所帮助(尽管从未使用过),但除此之外,我所知道的没有任何工具可以设置断点或检查内核内的变量。如果内核是长内核,可能会尝试保存内核的中间输出。很抱歉,我不能给你一个神奇的解决方案,调试OpenCL非常困难。

提到以前版本的gDEBugger支持Nvidia卡,但这项工作已经停止。这个版本和支持它的驱动程序仍然可用吗?似乎我应该在发布之前从Graphic Remedy检查gDEBugger的状态。他们发布的最后一个版本是2010年(仍然可以下载),AMD的版本现在已经被CodeXL取代。我不知道gDEBugger的旧版本是否有效,但我会试用并报告。您可能需要找到一个更早的版本,因为他们显然在最新版本之前放弃了一些Nvidia支持。我尝试了gDEBugger 5.8.1,但它似乎只支持OpenCL库函数上的断点,不是内核。只是我自己尝试过,我发现它也无法在下一次OpenCL调用时成功暂停应用程序,因此它无法向我显示任何有关缓冲区的信息,结论-没有任何可用的NVIDIA用户调试OpenCL代码。我还没有找到解决这个问题,但是我们经常调试使用CODISL在AMD平台上,以确保我们的代码是工作,然后做最后的修改和优化,是特定的英伟达平台没有调试支持。这很有效,但显然需要购买一张与您的Nvidia卡类似的AMD卡。这不是一个理想的解决方案,但对我们来说效果很好。请投票选择CodeXL工具,AMD的优秀工具,除此之外,您在Nvidia上运气不好,您可能会使用printf command()作为看待本地人的肮脏方式,我建议你去AMD GPU,那里的工具和支持更好