【发布时间】:2016-05-05 03:03:26
【问题描述】:
我们知道 CUDA 设备的共享内存容量非常有限,只有几十千字节。而且我们也知道如果您要求太多共享内存,内核将不会启动(通常?曾经?)。而且我们也知道,可用的共享内存既用于您使用的代码中的静态分配,也用于动态分配的共享内存。
现在,cudaGetDeviceProperties() 为我们提供了我们拥有的整体空间。但是,给定一个函数符号,是否可以确定它将使用多少静态分配的共享内存,以便我可以在启动时将共享内存“填满”到最大容量?如果没有,是否有可能让 CUDA 以某种方式为我处理这个问题?
【问题讨论】:
-
我之前已经说过了,我会再说一遍,通过从头到尾阅读 API 文档至少一次,你真的会帮自己一个大忙……