【发布时间】:2021-08-13 08:52:45
【问题描述】:
我想使用 CUDA 在 GPU 上并行化图像操作,对图像的每个像素(或像素组)使用一个线程。操作非常简单:每个像素乘以一个值。
但是,如果我理解正确,为了将图像放在 GPU 上并使其并行处理,我必须将其复制到统一内存或其他一些 GPU 可访问的内存,这基本上是双 for 循环就像在 CPU 上处理图像的那个一样。我想知道是否有一种更有效的方法可以在 GPU 上复制图像(即 1D 或 2D 数组),并且不会产生并行化无用的开销。
【问题讨论】:
-
没有...
-
如果您想要执行的唯一操作是获取图像并将每个像素乘以一个值,并且由于某种原因图像尚未在 GPU 上,那么没有人会使用 GPU为此(可能出于学习目的除外)。在性能开始变得有趣之前,您需要找到更多涉及 GPU 的工作。
标签: c++ optimization cuda unified-memory