【发布时间】:2022-02-04 22:37:50
【问题描述】:
自 Volta 以来,Nvidia 为其 GPGPU 引入了新的独立线程调度。如果 CUDA 线程发散,替代代码路径不会在块中执行,而是按指令执行。尽管如此,由于 GPU 也是 SIMT,因此不能同时执行不同的路径。这是原文:
https://developer.nvidia.com/blog/inside-volta/(向下滚动到“独立线程调度”)。
我明白这意味着什么。我不明白的是,这种新行为以何种方式加速了代码。即使是上述文章中的前后图也不能反映整体加速。
我的问题:由于所描述的新调度,哪些不同的算法会在 Volta(和更新的)上运行得更快?
【问题讨论】:
-
你读过关于“饥饿算法”的部分吗?
-
一个小的加速优势是调度程序可以选择当时资源空闲的发散分支。
标签: multithreading cuda nvidia scheduling gpgpu