【发布时间】:2011-12-27 06:04:20
【问题描述】:
我正在尝试在 CUDA 中实现一个二维数组,如下所示:
u_int32_t **device_fb = 0;
u_int32_t **host_fb = 0;
cudaMalloc((void **)&device_fb, (block_size*grid_size)*sizeof(u_int32_t*));
for(int i=0; i<(block_size*grid_size); i++)
{
cudaMalloc((void **)&host_fb[i], numOpsPerCore*sizeof(u_int32_t));
}
cudaMemcpy(device_fb, host_fb, (block_size*grid_size)*sizeof(u_int32_t*), cudaMemcpyHostToDevice);
在测试中,host_fb 为 NULL。此外,当我获取cudaMalloc((void **)&host_fb[i], numOpsPerCore*sizeof(u_int32_t)); 第一次迭代的错误代码时,我得到cudaErrorInvalidValue。我究竟做错了什么?谢谢!
【问题讨论】: