gpt4 book ai didi

cuda - 为什么 CUDA Occupancy 是根据支持的最大扭曲数的事件扭曲数来定义的

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

占用率定义为一个流多处理器上支持的最大扭曲数上的事件扭曲数。假设我有 4 个块在一个 SM 上运行,每个块有 320 个线程,即 10 个扭曲,因此一个 SM 上有 40 个扭曲。占用率为 40/48,假设一个 SM 上的最大扭曲为 48 (CC 2.x)。

但是我总共有 320 * 4 个线程在一个 SM 上运行,而一个 SM 上只有 48 个 CUDA 内核。为什么入住率不是100%?我正在使用所有 CUDA 内核...

我很确定我错过了一些东西......

最佳答案

因为占用与核心无关。 CUDA 是一种流水线式 SIMD 风格的架构。您的 48 个内核是从管道(实际上是双重发布)中的每个扭曲指令馈送的。你需要大量的扭曲来保持指令管道的满载,否则所有的内核都会停止。这就是为什么占用率是量化给定内核提供足够并行工作以实现合理性能的能力的有用指标。

关于cuda - 为什么 CUDA Occupancy 是根据支持的最大扭曲数的事件扭曲数来定义的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15256852/

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