我有几个查询需要澄清。抱歉,如果它们看起来很基本。
当我们使用 clEnqueueNDRangeKernel 启动内核时,主机代码实际上会发生什么,它是等待内核完成还是..?
假设我们有多个内核,在这种情况下会发生什么?如果其中一个内核已经完成,主机是否可以从该内核检索结果,而其他内核仍在进行计算。
我正在阅读 clCreateBuffer 的 OpenCL 规范(链接在这里)。检查标志 CL_MEM_USE_HOST_PTR 的描述。为了您的方便,我在此处发布了它: “它表明应用程序希望 OpenCL 实现使用 host_ptr 引用的内存作为内存对象的存储位。”
我无法理解“应用程序”和“opencl 实现”的确切含义。此外,它还说“允许 OpenCL 实现缓存缓冲区内容”。