我需要在内核函数中动态分配一些数组.我怎么能这样做?
我的代码是这样的:
__global__ func(float *grid_d,int n, int nn){
int i,j;
float x[n],y[nn];
//Do some really cool and heavy computations here that takes hours.
}
Run Code Online (Sandbox Code Playgroud)
但那不行.如果这是在主机代码中我可以使用malloc.cudaMalloc需要主机上的指针,以及设备上的其他指针.在内核函数内部,我没有主机指针.
所以我该怎么做?
如果花费太长时间(几秒钟)来分配所有数组(我需要大约4的大小为n和5大小为nn),这不会是一个问题.因为内核可能至少运行20分钟.
我可以在C/C++中为CUDA使用STL,iostream,new,delete吗?