我知道工作项被分组到工作组中,并且您无法在工作组之外进行同步.
这是否意味着工作项并行执行?
如果是这样,是否可以/有效地制作一个包含128个工作项的工作组?
考虑一个简单的例子:向量加法.
如果我为CL_DEVICE_TYPE_GPU构建程序,并为CL_DEVICE_TYPE_CPU构建相同的程序,它们之间有什么区别(除了"CPU程序"在CPU上运行,"GPU程序"在GPU上运行)?
谢谢你的帮助.
有没有办法阻止OpenCL内核执行?例如,我启动内核,进行一些计算,然后在满足某些条件时停止它,否则,我等到它完成:
clEnqueueNDRange(queue, ...); // start kernel function
// do other stuff...
// ...
if (some condition met) {
stopKernel();
} else {
clFinish(queue);
}
Run Code Online (Sandbox Code Playgroud)
谢谢你的帮助