【发布时间】:2012-11-02 00:49:41
【问题描述】:
我使用 API 的 clCreateImage2D 来创建空间,clEnqueueWriteImage 用于写入设备,read_imageui 用于读取内核中的图像,write_imageui 用于将图像写回主机,编写了图像卷积代码。
现在我想使用卷积内核的结果,它指向另一个内核参数中的缓冲区。不将结果移回主机和设备。这可能吗?
如果结果来回移动......我认为它会很昂贵。
在这方面的任何帮助都将是无价的。
【问题讨论】:
我使用 API 的 clCreateImage2D 来创建空间,clEnqueueWriteImage 用于写入设备,read_imageui 用于读取内核中的图像,write_imageui 用于将图像写回主机,编写了图像卷积代码。
现在我想使用卷积内核的结果,它指向另一个内核参数中的缓冲区。不将结果移回主机和设备。这可能吗?
如果结果来回移动......我认为它会很昂贵。
在这方面的任何帮助都将是无价的。
【问题讨论】:
从主机的角度来看,您应该能够获取缓冲区对象,并将其作为参数传递给另一个内核。之后,您只需将其视为任何其他缓冲区。唯一的技巧是确保在创建缓冲区时,它具有足够的读写权限,可以作为内核的输出和输入。
【讨论】: