__global__函数中申请显存

我使用cudaMalloc申请显存,提醒错误是error: calling a host function(“cudaMalloc”) from a global function(“cudamp”) is not allowed,应该是怎么申请的

楼主你好:

在kernel里使用cudaMalloc进行显存分配,只有在计算能力3.5的卡上才可以。
如果需要这样使用,请立即升级您的卡到最近的3.5计算能力。

此外,下文还提供了变通的方式:
如果您在kernel内部,使用malloc代替cudaMalloc, 则依然可以分配显存。这只需要2.0+的计算能力。无需升级新卡。

请您考虑在kernel内部使用malloc替换,还是不做代码改动,直接升级到3.5.

感谢您的来访。