2

有什么办法可以查明,gpu(设备)内存中的内核代码(执行)占用了多少内存?如果我有 512 MB 设备内存,我怎么知道有多少可分配?视觉分析器可以显示这样的信息吗?

4

1 回答 1

1

程序代码占用很少的内存。CUDA 上下文的其余部分(本地内存、常量内存、printf 缓冲区、堆和堆栈)使用更多。CUDA 运行时 API 包含cudeGetMemInfo调用,该调用将返回您的代码可用的可用内存量。请注意,由于碎片和页面大小的限制,您将无法分配内存的每个最后一个空闲字节。最好的策略是从最大值开始并递归地尝试分配连续较小的分配,直到获得成功的分配。

您可以在我对之前类似问题的回答中看到对设备内存消耗的更完整解释,

于 2012-04-09T17:14:12.387 回答