Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
当我使用多个内核时opencl,将第一个内核(K1)执行的结果输入到第二个内核(K2)执行,所以两个问题是:
opencl
(K1)
(K2)
谢谢。
您需要一个命令队列(假设内核在同一设备上执行)。
除非您的命令队列是使用CL_QUEUE_OUT_OF_ORDER_EXEC_MODE_ENABLE创建的,否则您不需要在您描述的场景中创建事件:内核按照它们入队的顺序执行。
对于无序命令队列,您应该从第一个clEnqueueNDRangeKernel获取一个事件,并将其作为依赖项传递给第二个。请记住使用clReleaseEvent释放事件。