假设一个CUDA GPU在一个多处理器上可以有48个同时有效的warp,即一个warp的48个块,或者2个warp的24个块,...,因为来自多个块的所有活动warp都被安排执行,它似乎块的大小对GPU的占用率并不重要(当然它应该是32的倍数),无论是32,64还是128都没有区别,对吧?那么块的大小只取决于计算任务和资源限制(共享内存或寄存器)?
答案 0 :(得分:3)
有许多因素需要考虑,你可以省略。
答案 1 :(得分:-1)
否。 块大小很重要。
如果您拥有32个线程的块大小,则占用率非常低。 如果您的块大小为256,则占用率很高。这意味着所有256个都同时处于活动状态。 超过256个线程/块很少会产生一些差异。
由于涉及的架构很复杂,使用您的软件进行测试始终是最好的方法。