清除OpenCL管道

时间:2016-07-20 03:29:17

标签: opencl

我正在使用OCL管道在内核之间传递数据,但需要在每次传递后清除管道,以便新数据可以进入。是否有可能以某种方式清除每次运行的管道或每次都清除它自己我使用'write_pipe'函数?

我基本上都是这样做的,我只会理想地使用一个管道:

kernel1{
 //read data from host, then write to pipe
}

do..x times
kernel2{
 //read pipe
 //calculations
 //write pipe
}

kernel3{
 //read pipe
 //write to host
}

1 个答案:

答案 0 :(得分:1)

pipe是一个FIFO内存对象,一旦你读取它就会被清除。

另请注意,给定内核可以读取或写入管道,但不能同时读取和写入。

您可以阅读有关管道+示例here

的更多信息