重复调用enqueueNDRangeKernel时应该调用哪些其他OpenCL函数?
我无法找到以这种方式显示enqueueNDRangeKernel使用的教程,但遗憾的是,我的编码尝试导致了未处理的异常错误。之前已经提出了类似的问题,但答案似乎并不适用于我的情况。
我目前有一个循环,我按以下顺序调用OpenCL函数:
我正在调用setArg,因为在每次调用enqueueNDRangeKernel之前,内核的输入都会发生变化。我正在调用enqueueMapBuffer和enqueueUnmapMemObject,因为内核的输出用在主机代码中。内核第一次运行正常(输出正确)但在第二次通过循环期间,我在调用enqueueMapBuffer时遇到未处理的异常错误。
我正在使用以下设置:
感谢。
答案 0 :(得分:1)
解决了问题......事实证明我正在使用正确的OpenCL函数调用序列。我的内核中存在一个问题,它只在循环的第一次迭代后出现。
答案 1 :(得分:0)
我正在尝试和你做同样的事情,但我一度陷入困境。我设法使OpenCL程序和内核都工作,但是当我尝试循环它时,它只有当我从创建一个分配设备循环整个代码到dealloc all mem _...