【发布时间】:2012-07-17 14:57:31
【问题描述】:
我的应用程序正在 openCL 内核中进行图像处理,并将输出写入 openGL 纹理以供显示。
我正在创建上下文、命令队列、编译程序并创建内核、采样器和 2D 图像对象而没有错误。在我尝试将内核排队执行之前,一切都运行良好,没有报告错误:
errNum = clEnqueueNDRangeKernel(commandQueue, kernel, 2, NULL, globalWorkSize, localWorkSize, 0, NULL, NULL);
此调用返回值 -1000。
根据 clEnqueueNDRangeKernel 的在线manpage,可以设置几个值 errNum(在 cl.h 头文件中定义)。这些值都不匹配 -1000。
关于这个错误的任何想法?
如果相关的话,我在 Nvidia NVS 4200M gpu 上运行。
【问题讨论】:
-
我假设 errNum 是 cl_int 类型?全球和本地工作组的规模是多少?
-
平台?选择 OpenCL SDK?
-
@James:听起来他正在使用带有 GPU 设备的 NVIDIA OpenCL 实现。 Milky_joe,你也可以发布内核吗?
-
@James 我在带有 Nvidia NVS 4200M gpu 芯片的 Windows 机器上运行。我也在运行 Nvidia 的 openCL sdk。
-
@TimChild 是的,errNum 是 cl_int。全局和本地工作组大小的类型为 size_t[2]
标签: opencl