问题陈述: 我必须连续处理从相机捕获的8百万像素图像。上面必须有几种图像处理算法,例如颜色插值,颜色转换等。这些操作在CPU上将花费很长时间。因此,我决定使用CUDA内核在GPU上执行这些操作。我已经编写了可工作的CUDA内核用于颜色转换。但是我仍然需要进一步提高性能。
基本上有两个计算时间:
source image从CPU 复制到GPU,反之亦然source imageGPU的处理当图像从CPU复制到GPU时...。同样,当在GPU上处理图像时,其他任何事情都不会发生。
我的想法:我想进行多线程处理,以便节省时间。我想在GPU上进行前一张图像的处理时捕获下一张图像。并且,当GPU完成前一个图像的处理时,下一个图像已经在那里,可以将其从CPU传输到GPU。
我需要什么:我对多线程世界完全陌生。我正在看一些教程和其他一些东西,以了解更多有关它的信息。因此,我正在寻找有关适当步骤和适当逻辑的一些建议。