相关疑难解决方法(0)

如何在内核中动态分配数组?

我需要在内核函数中动态分配一些数组.我怎么能这样做?

我的代码是这样的:

__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 cuda gpgpu

20
推荐指数
2
解决办法
2万
查看次数

标签 统计

c ×1

cuda ×1

gpgpu ×1