用户
 找回密码
 立即注册
jackyspeed 该用户已被删除
发表于 2013-12-4 14:26:45
91997
错误        15368        error: calling a __device__ function("WithOutMask") from a __host__ function("run") is not allowed        D:\Program Files\OpenCV-2.4.5\modules\gpu\src\cuda\matrix_reductions.cu        762

用cmake2.8.12.1生成的vs2008工程,然后编译opecv的opencv_gpu模块报出的错误,不知道该如何设置,是不是cmake设置不对啊?求救
使用道具 举报 回复
发表于 2013-12-4 15:01:11
楼主您好,

看你的代码是从你的run()中调用了一个名字叫做WithoutMask()的函数,而此函数是被标注为__device__的,只能由__global__来调用。

请确保您的大脑清醒。

感谢来访。
使用道具 举报 回复 支持 反对
发表于 2013-12-4 15:28:48
感谢您的回复帮助,opencv的matrix_reductions.cu是他们官方写的,估计要改一下,还要麻烦问一下__global__调用的语法是什么呢?谢谢,,,,
使用道具 举报 回复 支持 反对
发表于 2013-12-4 15:31:40
jackyspeed 发表于 2013-12-4 15:28
感谢您的回复帮助,opencv的matrix_reductions.cu是他们官方写的,估计要改一下,还要麻烦问一下__global__ ...

楼主您应当知道基本的CUDA知识,而不是让论坛试图给您从头教学带你入门。

基本的语法是:
kernel名字<<<grid里的block形状, block里的线程形状>>>(你的参数);

这是最基本的语法了。请您参考。
使用道具 举报 回复 支持 反对
发表于 2013-12-4 15:35:55
真的不好意思,刚刚开始用cuda,之前一直用opencv,速度有点慢,想用gpu来试试,
是这样写的吗?
kernel<threads_x * threads_y><<<grid, block>>>((PtrStepSz<T>) src, WithOutMask(), minval_buf, maxval_buf, twidth, theight);
这个是报错的那句,好像使用globe调用的,但是报错,
真给您添麻烦了,,实在不好意思。。。。
使用道具 举报 回复 支持 反对
发表于 2013-12-4 15:37:26
jackyspeed 发表于 2013-12-4 15:35
真的不好意思,刚刚开始用cuda,之前一直用opencv,速度有点慢,想用gpu来试试,
是这样写的吗?
kernel((P ...

。。。。

您需要简单的阅读下CUDA的手册,看看基本知识。

谢谢。
使用道具 举报 回复 支持 反对
发表于 2013-12-4 15:39:21
好吧,谢谢,麻烦您了
使用道具 举报 回复 支持 反对
发表于 2013-12-4 15:51:14
jackyspeed 发表于 2013-12-4 15:39
好吧,谢谢,麻烦您了

没关系的。

学习和使用CUDA不是5分钟能搞定的。
所以您试图拿来一个用CUDA的库,通过询问一句怎么用就能掌握CUDA, 掌握此库,这可能不是非常现实。

建议您一步一步,稳扎稳打的入门。

谢谢。
使用道具 举报 回复 支持 反对
发新帖
您需要登录后才可以回帖 登录 | 立即注册