gpt4 book ai didi

CUDA 扭曲和占用

转载 作者:行者123 更新时间:2023-12-04 17:40:12 27 4
gpt4 key购买 nike

我一直认为warp调度器会一次执行一个warp,这取决于哪个warp准备好了,而这个warp可以来自多处理器中的任何一个线程块。但是,在 Nvidia 网络研讨会的一张幻灯片中,指出“占用率 = 在多处理器上同时运行的扭曲数除以可以同时运行的最大扭曲数”。那么一次可以运行多个经线吗?这是如何运作的?

谢谢你。

最佳答案

“运行”可能更好地解释为“在 SM 和/或管道中的指令上具有状态”。 GPU 硬件调度尽可能多的块可用或适合 SM 的资源(以较小者为准),为它们包含的每个扭曲分配状态(即寄存器文件和本地内存),然后开始调度扭曲以供执行.指令管道似乎大约有 21-24 个周期长,因此在任何给定时间都有很多线程处于“运行”的各个阶段。

前两代支持 CUDA 的 GPU(例如 G80/90 和 G200)每四个时钟周期仅从单个扭曲中退出指令。计算 2.0 设备每两个时钟周期从两个 warp 发出双重指令,因此每个时钟有两个 warp 退出指令。 Compute 2.1 通过允许有效的无序执行来扩展这一点——每个时钟仍然只有两个扭曲,但可能一次来自同一个扭曲的两条指令。因此,每个 SM 额外的 16 个内核用于指令级并行,仍然来自同一个共享调度程序。

关于CUDA 扭曲和占用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5710750/

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