我有以下关于执行 OpenCL 内核的问题。令 kernel 为某个 OpenCL 内核。我想用不同的参数执行两次。
我可以在调用函数“clEnqueueNDRangeKernel”之后但在执行完成之前为此内核设置新参数吗? (会带来一些问题吗?)
kernel = clCreateKernel(...);
clSetKernelArg(kernel, ...);
cl_event event;
clEnqueueNDRangeKernel(kernel, ..., &event)
clSetKernelArg(kernel, ...);//Can I call this function before "event" is completed?
clEnqueueNDRangeKernel(kernel, ...)
我看到了“khronosregistry”的文档,但没有找到这个问题的答案。
看来是我不够细心。我的问题的答案是“是”。我可以在调用“clEnqueueNDRangeKernel”后立即为内核设置新参数,而无需等待执行结果。我在这里找到答案:khronos 论坛