cuda error invalid argument 这是什么错误

xiaotanker 2015-05-22 01:57:09
提取图像每个像素点的梯度,512*512的图片测试没有问题,换成1080p的图之后报invalid argument错误,请问这是怎么回事

__global__ void CountGrad(int nrow,int ncol, double *pic,  double *grad,  int *orient)
{



int x = threadIdx.x+blockIdx.x*blockDim.x;
int y = threadIdx.y+blockIdx.y*blockDim.y;
int pos = y+x*ncol;

if(x>0&&x<nrow-1&&y>0&&y<ncol-1){
double diff1=pic[pos+ncol]-pic[pos-ncol];
double diff2=pic[pos+1]-pic[pos-1];
grad[pos]=sqrt(diff1*diff1+diff2*diff2);

orient[pos]=Round(atan2(diff1,diff2)/PI_4)+4;
if(orient[pos]>=8) orient[pos]=0;


}


}


    // Launch a kernel on the GPU with one thread for each element.
dim3 dimBlock(BLOCK_SIZE,BLOCK_SIZE);
dim3 dimGrid((greyPic.nrow/dimBlock.x)+1,(greyPic.ncol/dimBlock.y)+1);

CountGrad<<<dimGrid,dimBlock>>>(greyPic.nrow,greyPic.ncol,dev_pic,dev_grad, dev_orient);
...全文
2217 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

580

社区成员

发帖
与我相关
我的任务
社区描述
CUDA™是一种由NVIDIA推出的通用并行计算架构,该架构使GPU能够解决复杂的计算问题。 它包含了CUDA指令集架构(ISA)以及GPU内部的并行计算引擎。
社区管理员
  • CUDA编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧