【发布时间】:2012-03-21 08:03:12
【问题描述】:
我需要动态执行 cudaMalloc 来为动态扩展的数组分配内存,该数组的大小可以在很大范围内变化。该数组表示两个表的连接操作的结果,因此它可以是零大小或达到最大数据量(如果表包含完全相似的数据)。
如果我因为期望表的数据几乎相似而分配内存,我可以获得大量根本没有使用的内存
那么,有没有办法通过 CUDA 动态执行内存分配以提高内存使用效率?
【问题讨论】:
-
我不明白这个问题。 cudaMalloc 是动态的,运行时内存分配。您是在询问在正在运行的内核中完成内存分配还是在其他方面?
-
您是否希望 cudaMalloc 自动为您的数组保留额外的内存,您是否需要扩展它?
-
我的意思是在运行内核之前先分配最小大小的数组,但是可以在内核运行时扩展(额外的内存分配)
标签: cuda