每个SM激活的线程块

时间:2018-10-13 09:16:41

标签: cuda gpu gpgpu

如何在gtx780的40kB共享内存上同时发现多少线程块可能同时处于活动状态? 如何查看每个SM的最大入住人数?

1 个答案:

答案 0 :(得分:1)

最大占用率取决于您的块大小,每个线程内核功能所需的寄存器数量以及每个块所需的共享内存量。您可以根据设备特定的限制自行计算,并可以查询。如果您使用的是最新版本的CUDA,则driver APIruntime API都具有计算占用率的功能。

请注意,您将只能计算理论上的最大占用率。无论您如何计算该数字,都没有保证这是将始终在设备上运行的实际数字。使用此数字作为指导,例如,确定最适合运行的启动配置。但是不要编写代码来依赖于实际同时运行的特定数量的块。确保并发运行的块数的唯一方法是使用CUDA 9+中较新的“协作内核启动”功能。