gpt4 book ai didi

CUDA新建删除

转载 作者:行者123 更新时间:2023-11-30 17:06:20 24 4
gpt4 key购买 nike

有人可以清楚地解释如果从 CUDA 4.2 中的 __device__ 或 __global__ 代码调用 new 和 delete 关键字将如何表现吗?

内存在哪里分配,如果是在设备上,是本地的还是全局的?

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

谢谢!

最佳答案

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

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

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

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

关于CUDA新建删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34783993/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com