我遇到的问题,
先看代码:
#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的数就只会循环一次就退出了.而我想在多线程下循环迭代数据.我该怎么修改这个代码: