首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >调用cuMemAlloc后重用cuCtxDestroy内存安全吗?

调用cuMemAlloc后重用cuCtxDestroy内存安全吗?
EN

Stack Overflow用户
提问于 2018-04-21 14:59:38
回答 1查看 238关注 0票数 0

在调用cuMemAlloc之后使用cuCtxDestroy内存分配安全吗?

例如。

代码语言:javascript
复制
cuCtxCreate()
void *d_buffer;
cuMemAlloc(d_buffer, ....);
cuCtxDestroy();

// In another place but same thread
cuCtxCreate();
kernel_call<<<..>>>(d_buffer); // Use the device allocation previously created
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-04-21 15:08:50

不,分配是上下文的一部分。

在销毁上下文时,还会销毁与其相关的任何资源,包括内存分配。

即使在不破坏上下文的情况下,如果尝试使用在另一个上下文下创建(即分配)的CUdeviceptr,当另一个上下文不当前时,您应该会得到一个“无效设备指针”错误(如果将它传递给内核,例如“非法访问”,则会出现内核运行时错误)。

还请注意,您在这里将驱动程序API的使用与运行时API语法(<<<..>>>)混合使用,所以我并不是说您编写的内容在任何特定情况下都是正常的,只是试图回答您的问题。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49957054

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档