CUDA新删除

时间:2013-01-19 18:17:41

标签: cuda dynamic-memory-allocation

如果从CUDA 4.2中的__device____global__代码调用,有人可以清楚说明新关键字和删除关键字的行为吗?

如果设备上的内存是本地的还是全局的,那么内存将被分配到哪里?

我试图在GPU上创建神经网络的问题的上下文条款,我想要一个链接表示(像链表一样,但每个神经元存储一个链接的连接列表,其中包含权重,指针指向另一个神经元),我知道我可以在内核启动之前使用cudaMalloc进行分配,但我希望内核控制网络的创建方式和时间。

谢谢!

1 个答案:

答案 0 :(得分:20)

C ++ newdelete在设备堆内存上运行。该设备允许以这种方式分配全局(即板载)存储器的一部分。 newdelete的工作方式与device malloc and free类似。

您可以使用runtime API call调整堆可用的设备全局内存量。

您可能也对C++ new/delete sample code.

感兴趣

这些功能需要CC 2.0或更高版本。