c++ - 如何使用 NVidia GPU 在 Windows 下逐步调试 OpenCL GPU 应用程序

标签 c++ debugging opencl gpgpu

我想知道您是否知道使用 Windows(我的 IDE 是 Visual Studio)逐步调试 OpenCL 内核并在 NVidia GPU 上运行 OpenCL 内核的任何方法。

目前我发现的是:

  • 使用 NVidias NSight,您只能分析 OpenCL 应用程序,而不能调试它们
  • AMD 的 gDEBugger 当前版本仅支持 ATI/AMD GPU
  • 旧版本的 gDEBugger 支持 NVidia GPU,但工作已于 2010 年 12 月停止
  • GDB 调试器似乎支持它,但只能在 Linux 下使用
  • 英特尔 OpenCL SDK 带有一个调试器,但它只能在 CPU 上运行代码时工作,而不是在 GPU 上运行代码时工作

这种配置(Windows + NVidia GPU + OpenCL)真的有差距吗?

最佳答案

目前没有在 nVidia 硬件上调试 OpenCL 内核的方法。

nSight 只会调试 CUDA 内核。它将分析(“跟踪”)CUDA 和 OpenCL 内核。我听说 nVidia 有一个内部版本的 nSight 可以调试 OpenCL 内核,但由于商业原因,它还没有(恕我直言不太可能)发布,即将 CUDA 推为首选计算平台。

gDEBugger 不再存在。它是几年前买的,后来变成了 CodeXL。出于显而易见的原因,AMD 不会支持其他供应商的硬件。

关于c++ - 如何使用 NVidia GPU 在 Windows 下逐步调试 OpenCL GPU 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12070564/

相关文章:

c++ - 我可以根据参数是左值还是右值来重载函数吗?

c++ - 如何将模板参数存储在结构之类的东西中?

c++ - 以正确的方式将字符串转换为整数

debugging - Tensorboard Visual Debugger UnimplementedError 对象不可迭代

c - OpenCL 获取使用的工作组大小

c++ - OpenCL:从 ' float* ' 到 ' cl_mem ' 的转换

Javacpp: liblept.4.dylib 库未加载

c# - CLR AwareLock::OwnedByCurrentThread 中的访问冲突

eclipse - 是否有 SWT 调试器/ spy ?

c++ - OpenCV OpenCL 线程安全 - 死锁(将 cv::Mat 更改为 UMat)