【问题标题】:Thread blocks active per SM每个 SM 活动的线程块
【发布时间】:2018-10-13 21:37:23
【问题描述】:

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

【问题讨论】:

标签: cuda gpu gpgpu


【解决方案1】:

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

请注意,您只能计算理论上的最大入住人数。无论您如何计算该数字,都无法保证这是始终在设备上运行的实际数字。使用此数字作为指导,例如,确定最适合运行的启动配置。但是不要编写代码来依赖于实际同时运行的特定数量的块。获得保证同时运行的块数量的唯一方法是使用 CUDA 9+ 中相当新的 Cooperative Kernel Launch 功能......

【讨论】:

    猜你喜欢
    • 2020-08-06
    • 2012-09-09
    • 1970-01-01
    • 2011-05-22
    • 2018-12-25
    • 2017-06-30
    • 2020-10-15
    • 1970-01-01
    相关资源
    最近更新 更多