什么时候是OpenCL2.0';管道有用吗?

什么时候是OpenCL2.0';管道有用吗?,opencl,specifications,Opencl,Specifications,OpenCL2.0引入了一个新特性,即管道。这什么时候有用?有哪些类型的应用程序可以从管道中获益?是否有更适合的硬件架构 对于某些流处理用例来说,它应该非常有用。您可以认为一个内核不断生成一些数据,而另一个内核正在使用这些数据。一个典型的用例是,一个内核的输出将被用作第二个内核的输入。因此,第一个内核产生数据,第二个内核消耗数据。对于某些应用程序,生产者内核和消费者内核可以同时运行。OpenCL管道内存对象有助于此类应用程序,因此它可以处理串行和并发执行的生产者-消费者内核 下面是一个示例:第一

OpenCL2.0引入了一个新特性,即管道。这什么时候有用?有哪些类型的应用程序可以从管道中获益?是否有更适合的硬件架构

对于某些流处理用例来说,它应该非常有用。您可以认为一个内核不断生成一些数据,而另一个内核正在使用这些数据。

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

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

我个人喜欢的一本关于这个主题的书是David R.Kaeli、Perhaad Mistry、Dana Schaa、Dong Ping Zhang的《OpenCL2.0异构计算》