我在CUDA中有一个__global__函数。可以自称吗?
以下是我的例子:
__global__ void
force_create_empty_nodes (struct NODE *Nodes, int topnode, int bits, int no, int x, int y,
int z, struct topnode_data *TopNodes)
{
/// * Some code *///
force_create_empty_nodes <<<1, 8>>>(Nodes, topnode+1, bits+1, no+1,
x+1, y+1, z+1, TopNodes);
}
我收到的错误是:
error: kernel launch from __device__ or __global__ functions requires separate compilation mode
这是我的make命令:
nvcc -c -arch compute_35 cudaForceNodes.cu -o obj/cudaForceNodes.o
答案 0 :(得分:3)
从另一个内核调用内核称为动态并行。它的文档是here。
需要:
由于您的GT550M不是cc 3.5设备,因此您将无法使用此功能。没有其他方法可以在内核中调用内核。