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

时间:2013-01-20 19:47:49

标签: cuda nvidia dynamic-memory-allocation gpu-programming

我的算法(并行多正面高斯消除)需要在CUDA内核中动态分配内存(树构建)。有谁知道gpuocelot是否支持这样的事情?

根据这个:stackoverflow-link和CUDA编程指南,我可以做这些事情。但是使用gpuocelot我在运行时会遇到错误。

错误:

  1. 当我在内核中调用malloc()时,我收到此错误:
    (2.000239) ExternalFunctionSet.cpp:371:  Assertion message: LLVM required to call external host functions from PTX.
    solver: ocelot/ir/implementation/ExternalFunctionSet.cpp:371: void ir::ExternalFunctionSet::ExternalFunction::call(void*, const ir::PTXKernel::Prototype&): Assertion false' failed.
  2. 当我尝试获取或设置malloc堆大小(在主机代码内)时:
    solver: ocelot/cuda/implementation/CudaRuntimeInterface.cpp:811: virtual cudaError_t cuda::CudaRuntimeInterface::cudaDeviceGetLimit(size_t*, cudaLimit): Assertion `0 && "unimplemented"' failed.
  3. 也许我必须(以某种方式)指向我想使用设备malloc()的编译器?

    有什么建议吗?

1 个答案:

答案 0 :(得分:1)

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

gpuocelot mailing list link