关于在核函数循环申请内存和释放的问题.

我遇到的问题,
先看代码:
#include
#include <cuda_runtime.h>
#include <stdio.h>
device void gpu(int n,int m);
device double* dVectorEx;
global void gpu1(int n,int m)
{
gpu(n,m);
}
device void gpu(int n,int m)
{
for(int i = 0; i < 10; ++i)
{
dVectorEx = new doublen * m + i;

	for(int j = 0; j < n*m+i; ++j)
	{	
		printf("dVectorEx[%d] = %0.1f\t",j,dVectorEx[i]);
		printf("&dVectorEx = %d\t",dVectorEx+j);
	}
	printf("\n");
	delete[] dVectorEx;
}	 

}
int main()
{
int n = 0;
int m = 0;
std::cin >> n >> m;
gpu1<<<1,4>>>(n,m);
cudaDeviceReset();
return 0;
}
这个是我想要的结果,但是当把核函数的第二个参数换成大于1的数就只会循环一次就退出了.而我想在多线程下循环迭代数据.我该怎么修改这个代码: