Kernel 在OpenCL中使用内核会导致另一个内核

Kernel 在OpenCL中使用内核会导致另一个内核,kernel,opencl,Kernel,Opencl,我已经编写了一个用于图像卷积的代码,使用API的clCreateImage2D创建空间,使用clEnqueueWriteImage写入设备,使用read_imageui读取内核中的图像,使用write_imageui将图像写回主机 现在我想使用卷积内核的结果,它指向另一个内核参数中的一个缓冲区。而不将结果移回主机和设备。这是可能的吗 如果结果被前后移动…我认为这将是昂贵的 这方面的任何帮助都是非常宝贵的。从主机的角度来看,您应该能够获取缓冲区对象,并将其作为参数传递给另一个内核。在那之后,你只需

我已经编写了一个用于图像卷积的代码,使用API的clCreateImage2D创建空间,使用clEnqueueWriteImage写入设备,使用read_imageui读取内核中的图像,使用write_imageui将图像写回主机

现在我想使用卷积内核的结果,它指向另一个内核参数中的一个缓冲区。而不将结果移回主机和设备。这是可能的吗

如果结果被前后移动…我认为这将是昂贵的


这方面的任何帮助都是非常宝贵的。

从主机的角度来看,您应该能够获取缓冲区对象,并将其作为参数传递给另一个内核。在那之后,你只需要像对待其他缓冲一样对待它。唯一的诀窍是确保在创建缓冲区时,它具有足够的读写权限,可以输出和输入到内核