我正在研究OpenCl。有谁知道OpenCL的好调试器,以便我可以进入OpenCL代码和跟踪?

有帮助吗?

解决方案

也许Gremedy的Opencl调试器会有所帮助?http://www.gremedy.com/gdebuggercl.php

其他提示

您可能还想查看codexl:

https://gpuopen.com/compute-product/codexl/

Codexl最初是由AMD开发的,但后来作为一个开源项目发布。

您最好的选择是CPU的Intel Debugger,在Intel Opencl SDK 1.5宣布:

英特尔Opencl SDK您可以在Visual Studio中逐步调试。

Visual Studio调试器插件

也许您可以尝试在Linux OS下使用X86 CPU上的GDB,请参阅AMD的教程:http://developer.amd.com/gpu/atistreamsdk/assets/debugging_opencl_with_with_gdb_on_x86_cpus.pdf

您可以使用 getattr 将对象的成员与成员获取名称为字符串。

getattr(self, 'handle_' + instruction)(data)
.

我通常建议使用 gpuverify 来自伦敦帝国学院和 OCLGRIND 来自布里斯托尔大学,尤其是当您遇到OpenCL计划的调试时(但甚至在此之前)。

我没有使用过,但是 Clbuilder 看起来很有希望

Clbuilder的主要特征

  1. 用颜色语法编写OpenCL内核
  2. 编译内核以检查错误,而无需启动和调试您自己的应用程序。
  3. 轻松创建并选择构建设置。
  4. 定义内核输入值并检查结果。
  5. 介绍内核执行时间以提高性能。
  6. 创建不同的工作项目设置(全局和本地)以检查性能。
  7. 用CPU上的printf执行内核,并轻松调试代码。
  8. 在图表上显示输入和输出值。
  9. 请咨询执行日志,以查看Clbuilder在做什么(日志每个OpenCL C函数)。
  10. 检查内核使用的本地和恒定参数和资源。
  11. 生成C代码以执行内核,Clbuilder还将编译此生成的源代码并执行它。
  12. 轻松检查所有OpenCL属性,包括平台信息。

Nvidia's 平行nsight 调试器(以前称为Nexus)支持OpenCL(GPU)。

从网站:

并行Nsight支持Cuda C,OpenCL,DirectCompute,Direct3D和OpenGL。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top