用户
 找回密码
 立即注册
hujun21 该用户已被删除
发表于 2013-10-5 17:34:34
85604
想在核函数中调用一些标准库函数,编译不过。有什么办法么?
warning : calling a __host__ function("strlen") from a __host__ __device__ function("c2w") is not allowed
使用道具 举报 回复
发表于 2013-10-8 09:47:42
LZ您好:

您可以参考一下CUDA C Programming Guide中的附录 C/C++ LANGUAGE SUPPORT。

祝您好运~
使用道具 举报 回复 支持 反对
发表于 2013-10-8 15:06:02
ice 发表于 2013-10-8 09:47
LZ您好:

您可以参考一下CUDA C Programming Guide中的附录 C/C++ LANGUAGE SUPPORT。

我补充一下ICE大:

如果楼主您真的要从__global__中调用host function, 您还是可以的,主要您将它改写成GPU版本的,例如__device__函数,则可以顺利调用。

以及,您如果能找到他人写好的能在GPU上调用的版本,那么您甚至连自己重写都不用了。

感谢来访。
使用道具 举报 回复 支持 反对
发表于 2013-10-13 22:35:26
横扫千军 发表于 2013-10-8 15:06
我补充一下ICE大:

如果楼主您真的要从__global__中调用host function, 您还是可以的,主要您将它改写成 ...

我也遇到这样的问题,但是strlen 是在__device__ 函数中使用的啊。另:CUDA中没有相应的取字符串长度的函数么?
使用道具 举报 回复 支持 反对
发表于 2013-10-14 00:31:55
branty031 发表于 2013-10-13 22:35
我也遇到这样的问题,但是strlen 是在__device__ 函数中使用的啊。另:CUDA中没有相应的取字符串长度的函 ...

您好,我是说“改写成__device__函数”,而不是说,host函数能在__device__中调用,请知晓。
使用道具 举报 回复 支持 反对
发新帖
您需要登录后才可以回帖 登录 | 立即注册