什么时候OpenCL 2.0的管道有用吗?

时间:2014-06-18 17:02:32

标签: opencl specifications

OpenCL 2.0引入了一个新功能,管道。这什么时候有用?是否有类型的应用程序可以从管道中受益?是否有更适合的硬件架构?

2 个答案:

答案 0 :(得分:2)

对于某些流处理用例应该非常有用。你可以认为一个人不断产生一些被另一个人消耗的数据。

答案 1 :(得分:1)

一个典型的用例是来自一个内核的输出将用作第二个内核的输入。所以第一个内核产生数据,第二个内核消耗它。对于某些应用程序,生产者和消费者内核可以同时运行。 OpenCL管道内存对象有助于此类应用程序,从而可以处理串行和并发执行的生产者 - 消费者内核。

这是一个例子:第一个内核应用了一些图像处理步骤(例如卷积),第二个内核计算直方图。

我个人喜欢的一本关于这个主题的书是David R. Kaeli,Perhaad Mistry,Dana Schaa,张东平等 OpenCL 2.0的异构计算