gpt4 book ai didi

parallel-processing - CUDA:我是否需要在多个 GPU 上并行执行不同的流?

转载 作者:行者123 更新时间:2023-12-04 08:10:55 26 4
gpt4 key购买 nike

我想在多个 GPU 上并行运行内核。为此,我使用 cudaSetDevice() 在设备之间切换,然后在相应的设备中启动我的内核。现在,通常一个流中的所有调用都是按顺序执行的,如果要并行执行,则必须使用不同的流。使用不同设备时是否也是这种情况,或者在这种情况下我可以在两个设备上的默认流上运行我的内核调用并且它们仍然并行运行吗?

最佳答案

没有必要为每个设备使用非默认流来从同一主机进程或线程在多个设备上并发执行内核。内核启动是异步的
非阻塞,因此内核在不同设备上启动的紧密循环应该会产生非平凡内核的执行重叠(请记住,设备上下文切换有延迟)。

有必要使用所有其他主机 API 调用的异步版本,这些调用通常与默认流中的内核结合使用,因为其中许多(例如 cudaMemcpy 系列)会阻塞。

关于parallel-processing - CUDA:我是否需要在多个 GPU 上并行执行不同的流?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35398021/

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