gpt4 book ai didi

parallel-processing - 使用 CUDA 流的优势

转载 作者:行者123 更新时间:2023-12-05 00:52:52 25 4
gpt4 key购买 nike

我试图了解 Stream 在哪里可以帮助我处理视频帧上的多个感兴趣区域。如果使用支持流的 NPP 函数,是否会启动与 ROI 一样多的流?甚至可能为每个流创建一个 CPU 线程?或者使用一个流来处理所有 ROI 并可能使用来自 CPU 中多个线程的单个流的好处?

最佳答案

在 CUDA 中,流的使用通常有助于以两种方式更好地利用 GPU。首先,如果复制和执行发生在不同的流中,则主机和设备之间的内存复制可能会被内核执行重叠。其次,如果 GPU 上有足够的资源,在不同流中运行的单个内核可以重叠。

此外,为每个 ROI 创建线程是否有帮助取决于 GPU 与 CPU(如果有的话)利用率的比较。如果 CPU 上有大量处理并且 CPU 推迟 GPU 计算,则创建更多线程会有所帮助。

还有更多细节(参见 documentation 了解 CUDA 的实际版本)限制了流中操作的重叠。只有当 RAM 中的内存源或目标被页面锁定时,内存副本才会与内核执行重叠。或者,当主机线程在默认流中发出命令时,流之间会发生同步。 (从 CUDA 7 开始,每个线程都有自己的默认流,因此在不同线程中处理 ROI 将再次有所帮助。)

因此,满足某些条件,如果 ROI 的处理发生在不同的流中达到一定的限制(取决于内核的资源消耗、内存副本和计算的比率等),它应该可以提高算法的性能。

关于parallel-processing - 使用 CUDA 流的优势,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41969976/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com