我正在用Cloo在C#中开发一个OpenCL应用程序。我从我的设备(Intel )得到了一些奇怪的值,所以我决定使用OpenCL调试器在内核中设置一些断点。它们被忽略了,尽管我在Visual Studio 2012E 215中启用了Intel Debugger。也许我应该使用内核的路径而不是包含源代码的字符串来构建程序,但是我无法找到使用Cloo的方法。
下面是我构建程序的方法:
program = new ComputeProgram(context, kernelSource);
program.Build(devices, "-g", null, IntPtr.Zero);其中kernelSource是包含OpenCL源的字符串。提前感谢!
发布于 2014-02-25 18:50:23
您需要使用"-g -s“来构建您的程序,其中应该包括您要构建的.cl文件。还要确保内核中没有#include文件。如果没有工作,请设置环境变量:
INTEL_OCL_DBG_LOG=1 INTEL_OCL_DBG_LOG_FILE=c:\temp\debugger.txt
并重新启动Visual。继续调试。这将生成一个日志文件,可以让我们确定调试不工作的原因。您可以在http://software.intel.com/en-us/forums/intel-opencl-sdk上提交此日志。您也可以在这里提交有关英特尔OpenCL SDK的问题/提问。
谢谢。
https://stackoverflow.com/questions/21968699
复制相似问题