我通常总是在谷歌上找到一个解决方案(80%在这里),但这次不幸的是不是这样。这就是我决定创建一个帐户的原因。
我编写了一个运行在不同Intel和AMD CPU上的OpenCL代码。它也运行在AMD RADEON HD7970和NVIDIA Quadro FX 1800M上。但是,当我尝试在NVIDIA K20m上启动代码时,我得到错误-9999“clEnqueueNDRangeKernel”。
最令人不安的是,在512次迭代后发生错误(我猜512是巧合)。
我相信(但也许只是错误-11)我已经看到了这个错误但是在构建程序期间由于“clGetEventProfilingInfo”而出错。这次所有的分析都是评论。
我正在寻找有关此错误的信息 提前感谢您的回答。
OpenCL版本:1.1
CUDA版本:7.0.18
P.S。:确切地说,我不是这个系统的管理员可能是有用的。
答案 0 :(得分:2)
为了未来Google的访问者(此错误代码的排名非常高),这是NVidia提供的特定于供应商的错误代码。
在Stream HPC's list of OpenCL error codes上,代码public class MainActivity : WearableActivity
{
...
OnCreate(Bundle bundle)
{
base.OnCreate(bundle);
**SetContentView(Resource.Layout.RoundMain);**
// Does not return null anymore:
FindViewById<Button>(Resource.Id.ButtonVgOk).LongClick += (s, e) => ButtonVgOkOnLongClick();
...
}
列出了函数-9999
,其中包含以下说明:
非法读取或写入缓冲区
答案 1 :(得分:0)
我已经解决了这个问题。
通常,在内核中,我们可以在未分配的位置读取。在我的情况下,我使用了这个属性,以避免在内核中使用不好的无用测试。这种读取内存不足是NVIDIA K20的问题。
感谢。