占用率定义为一个Stream Multiprocessor上支持的最大warp数量的活动warp数。假设我在一个SM上运行了4个块,每个块有320个线程,即10个warp,因此在一个SM上有40个warp。占用率为40/48,假设一个SM上的最大扭曲为48(CC 2.x)。
但总的来说,我在一个SM上运行了320 * 4个线程,并且在一个SM上只有48个CUDA核心。为什么入住率不是100%?我正在使用所有CUDA核心......
我很确定我错过了什么......
答案 0 :(得分:10)
因为占用与核心无关。 CUDA是一种流水线SIMD风格的架构。您的48个内核从管道(实际上是双重发布)的