cuda核函数再调用核函数,多层并行

#include <stdio.h>



__global__ void childKernel(int i)
{
	int tid = blockIdx.x*blockDim.x+threadIdx.x;
	printf("parent:%d,child:%d
",i,tid);
	for(int j=i;j<i+10;j++)
	{
		printf(",%d",j);
	}
	printf("
");
}

__global__ void kernel()
{

	int tid = blockIdx.x*blockDim.x+threadIdx.x;
	childKernel<<<1,2>>>(tid);
}

int main()
{

	kernel<<<1,1>>>();
	cudaDeviceSynchronize();

return 0;
}

原文地址:https://www.cnblogs.com/hrhguanli/p/3901440.html