【发布时间】:2014-12-23 22:13:56
【问题描述】:
假设我将两个内核放入一个有序队列中。
第一个内核设置为仅在收到完成事件时运行, 而第二个内核不等待事件。
在这种情况下,运行时会先执行第二个内核吗?
【问题讨论】:
标签: opencl
假设我将两个内核放入一个有序队列中。
第一个内核设置为仅在收到完成事件时运行, 而第二个内核不等待事件。
在这种情况下,运行时会先执行第二个内核吗?
【问题讨论】:
标签: opencl
按顺序队列将按照您对它们进行排队的顺序执行项目,实质上将每个操作的前身作为等待事件。在您的示例中的第一个内核之后,您的第二个内核不应执行。
乱序队列要求您自己管理等待列表,但它的优势是任务在满足其先决条件后就可以立即执行。只需确保您的平台支持乱序队列,然后才能最终解决死胡同。查看this SO question的答案。
【讨论】: