我的算法(并行多正面高斯消除)需要在CUDA内核中动态分配内存(树构建)。有谁知道gpuocelot是否支持这样的事情?
根据这个:stackoverflow-link和CUDA编程指南,我可以做这些事情。但是使用gpuocelot我在运行时会遇到错误。
错误:
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.
solver: ocelot/cuda/implementation/CudaRuntimeInterface.cpp:811: virtual cudaError_t cuda::CudaRuntimeInterface::cudaDeviceGetLimit(size_t*, cudaLimit): Assertion `0 && "unimplemented"' failed.
也许我必须(以某种方式)指向我想使用设备malloc()
的编译器?
有什么建议吗?