卤化物::GPU 上的缓冲区

Halide::Buffer on GPU

本文关键字:缓冲区 GPU 卤化物      更新时间:2023-10-16

我已经有一个应用程序可以获取输入图像,将它们复制到GPU,然后将一些CUDA过滤器应用于该图像。因此,当我想实现一个新过滤器时,我只编写过滤器本身(即内核(,因为 CPU-GPU 复制逻辑已经存在。

现在我想尝试使用 Halide 为 CUDA 编写图像过滤器,我遇到了一个问题,即表示输入图像的 Halide::Buffer 被分配在 CPU 上,所以我必须更改我现有的复制逻辑。

有没有办法使用GPU上已有的数据初始化Halide::Buffer,并避免额外的复制。

是的,您可以使用 Halide::Buffer(nullptr, ...尺寸...构造函数,然后调用 Buffer::d evice_wrap_native 以将 cuda 指针与其关联。