【发布时间】:2010-07-23 14:57:56
【问题描述】:
我有一个使用 CUDA 的 .NET 程序。
通过 C DLL 访问 CUDA。
我正在做的是通过在程序启动时在设备上分配缓冲区 (cudaMalloc) 来初始化我的 CUDA 应用程序。然后将指向这些缓冲区的指针保存在 DLL 中声明的静态变量中。数据在整个程序中被复制到缓冲区或从缓冲区复制。在程序终止时,先前分配的缓冲区被释放。
是否可以维护指向已分配设备内存的指针,还是应该在每次执行内核时重新分配(这似乎效率很低)?
目前我没有注意到任何副作用,只是想确认这种使用模式是首选和可接受的。
【问题讨论】:
标签: .net dll memory-management cuda