error: calling a host function from a __device__/__global__ function is only all

wjg_xaut 2010-01-26 11:34:32
extern "C"
__device__ float _random1()
{
int a;
float r;
a = rand() % 32767 ;
r = (a + 0.00 ) / 32767.00 ;
return r;
}
在Debug下,怎么在上面这个定义的device函数里调用rand()?或者其他的,只要能得到伪随机数,急求,帮帮忙
...全文
553 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
strongwangjiawei 2012-10-02
  • 打赏
  • 举报
回复
printf函数好像也不能用,希望以后会支持
  • 打赏
  • 举报
回复
device上没有rand函数.要自己写伪随机数生成函数.或着在host上生成后用cudamemcpy复制到gpu上.
OpenHero 2010-01-27
  • 打赏
  • 举报
回复
要么在外面写好 copy进去
要么自己写rand实现,用 clock什么的模拟rand

580

社区成员

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

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