gpuocelot 是不是支持 CUDA 设备中的动态内存分配?

Posted

技术标签:

【中文标题】gpuocelot 是不是支持 CUDA 设备中的动态内存分配?【英文标题】:Does gpuocelot support dynamic memory allocation in CUDA device?gpuocelot 是否支持 CUDA 设备中的动态内存分配? 【发布时间】:2013-01-03 21:53:02 【问题描述】:

我的算法(并行多前高斯消除)需要在 CUDA 内核内部动态分配内存(树构建)。有谁知道 gpuocelot 是否支持这些东西?

根据这个:***-link 和 CUDA 编程指南我可以做这样的事情。但是使用 gpuocelot 我会在运行时出错。

错误:

    当我在内核中调用 malloc() 时,我收到此错误:
    (2.000239) ExternalFunctionSet.cpp:371: 断言消息:从 PTX 调用外部主机函数需要 LLVM。
    求解器:ocelot/ir/implementation/ExternalFunctionSet.cpp:371: void ir::ExternalFunctionSet::ExternalFunction::call(void*, const ir::PTXKernel::Prototype&): Assertion false' failed.
    当我尝试获取或设置 malloc 堆大小(在主机代码内)时:
    求解器:ocelot/cuda/implementation/CudaRuntimeInterface.cpp:811: virtual cudaError_t cuda::CudaRuntimeInterface::cudaDeviceGetLimit(size_t *, cudaLimit): 断言 `0 && "unimplemented"' 失败。

也许我必须(以某种方式)指向我想使用设备malloc() 的编译器?

有什么建议吗?

【问题讨论】:

我有理由确定模拟器已经支持 mallocfreeprintf,但我不太确定 LLVM 后端。你真的应该在 Ocelot 邮件列表上问这个问题。这根本不是一个真正的 CUDA 问题,我很想删除 CUDA 标记。 【参考方案1】:

你可以在gpu ocelot邮件列表中找到答案:

gpuocelot mailing list link

【讨论】:

以上是关于gpuocelot 是不是支持 CUDA 设备中的动态内存分配?的主要内容,如果未能解决你的问题,请参考以下文章

windows怎么查看cuda是不是安装成功

怎样判断cuda和cudnn是不是安装成功win10

Cuda 运行时错误 cudaErrorNoDevice:未检测到支持 CUDA 的设备

未检测到支持 CUDA 的设备

带有 CUDA 和 Nvidia 卡的 PyTorch:RuntimeError:CUDA 错误:所有支持 CUDA 的设备都忙或不可用,但 torch.cuda.is_available() 为 T

CUDA 流是不是与设备相关?以及如何获得流的设备?