调用cuda程序<<<>>>部分报错error C2059: 语法错误:“<“

mobiqiliang 2015-05-12 04:35:40
函数代码为:
void getSqare(Mat frame)
{
int dimBlock=512;
int dimGrid=2;
//dim3 dimGrid(frame.rows*frame.cols/256);

size_t memSize = frame.step * frame.rows;
uchar3* d_src = NULL;
cudaMalloc((void**)&d_src, memSize);
cudaMemcpy(d_src, frame.data, memSize, cudaMemcpyHostToDevice);

cacul_sqare_kernel<<<dimGrid,dimBlock>>>(d_src,frame.cols,frame.rows);
cudaMemcpy(frame.data, d_src, memSize, cudaMemcpyDeviceToHost);
}


编译时<<<>>>位置报题述错误,求大神帮解决啊
核函数为:
__global__ void cacul_sqare_kernel(uchar3* drc,int width,int height)
{
int i = threadIdx.x + blockIdx.x * blockDim.x;
if(i>width*height)return;
//int y = threadIdx.y + blockIdx.y * blockDim.y;
//drc[i].x= (int)(pow((float)drc[i].x,2)/255);
//drc[i].y= (int)(pow((float)drc[i].y,2)/255);
//drc[i].z= (int)(pow((float)drc[i].z,2)/255);
drc[i].x= 0;
drc[i].y= 0;
drc[i].z= 255;
}
...全文
6450 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
ttYingzi 2017-05-06
  • 打赏
  • 举报
回复
楼主解决了可以贴下方法,我也遇到这个问题,研究好久才解决。结果是:<<<a,b>>>貌似不能出现在 .cpp 文件中,可以在 .cu 文件中封装一层,就是在 .cu 文件中写一个传同样参数的函数fun(),在fun()函数中用 <<<a,b>>>调用核函数,然后在外边.cpp文件中用调用普通函数的方法调用fun()
小酌之时 2016-10-17
  • 打赏
  • 举报
回复
应该是你的.cpp文件包含了.cu文件,这两种文件是用不同编译器编译的。当你的cpp文件包含cu文件时,c++编译器是无法编译.cu文件的内容的。
MrWatermelon 2016-03-16
  • 打赏
  • 举报
回复
看这里http://blog.csdn.net/shengwenj/article/details/48917203
「已注销」 2016-03-04
  • 打赏
  • 举报
回复
具体怎么修改的?求指教! 不能直接把cuda程序放入cpp中去调用, 需要用extern "C" 声明 具体是什么样的
jaclele 2015-11-27
  • 打赏
  • 举报
回复
怎样包含??
mobiqiliang 2015-05-21
  • 打赏
  • 举报
回复
已经可以了 ,原因是不能直接把cuda程序放入cpp中去调用,需要用extern "C" 声明
adagio_chen 2015-05-19
  • 打赏
  • 举报
回复
是不是把CU文件包含到C++文件里去了?
mobiqiliang 2015-05-15
  • 打赏
  • 举报
回复
在的 cpp程序是不是不能直接调用cuda程序?
YCMyTot 2015-05-13
  • 打赏
  • 举报
回复
代码写在 ,cu 文件中吗?
mobiqiliang 2015-05-12
  • 打赏
  • 举报
回复
我直接建立cuda工程里面自动会有一个例程是可以正常运行的 简单的编写了一个图像处理的程序 ,所有像素只留B通道也是可以的 。 现在报错这个 是我建立一个cuda工程后 ,将以前的一个c++项目的所有文件放了进来,然后再次基础上做写cuda并行程序的时候出错
Spidey212 2015-05-12
  • 打赏
  • 举报
回复
环境没有配置好嘛

580

社区成员

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

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