OpenCL:NVIDIA K20m 上的错误 -9999

OpenCL : error -9999 on NVIDIA K20m

我通常总是在 google 上找到解决方案(这里是 80%),但不幸的是这次不是这样。这就是我决定创建一个帐户的原因。

我编写了一个运行在不同 Intel 和 AMD 上的 OpenCL 代码 CPU。它也在 AMD RADEON HD7970 和 NVIDIA Quadro FX 1800M 上运行。但是,当我尝试在 NVIDIA K20m 上启动代码时,出现错误 -9999 "clEnqueueNDRangeKernel"。

最头疼的是迭代512次后出现错误(我猜512是巧合)

我相信(但可能只是错误 -11)我已经看到这个错误,但它是在构建程序期间出现的错误,并且由于 "clGetEventProfilingInfo"。这次所有的分析都是评论。

我正在查找有关此错误的信息。
预先感谢您的回答。

平台信息:

OpenCL 版本:1.1
CUDA 版本:7.0.18

P.S.: 准确地说我不是这个系统的管理员可能会有用。

我已经解决了问题

一般来说,在内核中我们可以在非分配的地方读取。在我的例子中,我使用了这个 属性 以避免内核中不好的无用测试。读取内存是 NVIDIA K20 上的问题。

谢谢。

为了将来 Google 的访问者(现在这个错误代码在该网站上的排名非常高),这是 NVidia 的供应商特定错误代码。

Stream HPC's list of OpenCL error codes 上,函数 clEnqueueNDRangeKernel 的代码 -9999 已列出,说明:

Illegal read or write to a buffer