mch*_*hen 4 memory cuda gpgpu smart-pointers
如果没有,cudaMalloc抛出异常时释放内存的标准方法是什么?(请注意,我无法使用Thrust.)
您可以使用此自定义cuda::shared_ptr实现。如上所述,此实现用作std::shared_ptrCUDA 设备内存的包装器。
std::shared_ptr<T[]> data_host = std::shared_ptr<T[]>(new T[n]);
.
.
.
// In host code:
fun::cuda::shared_ptr<T> data_dev;
data_dev->upload(data_host.get(), n);
// In .cu file:
// data_dev.data() points to device memory which contains data_host;
Run Code Online (Sandbox Code Playgroud)
该存储库确实是一个头文件 ( cudasharedptr.h),因此如果您的应用程序需要的话,可以很容易地操作它。
| 归档时间: |
|
| 查看次数: |
2077 次 |
| 最近记录: |