网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
02月08日漏签0天
cuda吧 关注:2,212贴子:2,855
  • 看贴

  • 图片

  • 吧主推荐

  • 游戏

  • 2回复贴,共1页
<<返回cuda吧
>0< 加载中...

超新手求助最大值问题

  • 只看楼主
  • 收藏

  • 回复
  • 爱和寻化抹23
  • 初级粉丝
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
double r1 = ((double)rand()) / (RAND_MAX + 1.0);
这句话的意思是随机数除以(随机数最大值+1),得到0-1的随机数。那么在设备端怎么得到呢?
size_t i;
curandGenerator_t gen;
float *devData;
/* Allocate n floats on device */
cudaMalloc((void **)&devData, abc*sizeof(float));
/* Create pseudo-random number generator */
curandCreateGenerator(&gen,CURAND_RNG_PSEUDO_DEFAULT);
/* Set seed */
curandSetPseudoRandomGeneratorSeed(gen,1234ULL);
/* Generate n floats on device */
curandGenerateUniform(gen, devData, abc);
我用这段生成了随机数,怎么得到0-1的随机,cuda是否有和rand_max对应的?
还有:rand_max是不是固定的一个数?随机数能产生的数范围是【0,32767】,随机数最大值不是32767?


  • 爱和寻化抹23
  • 初级粉丝
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
不对,应该是随机数问题


2026-02-08 04:59:56
广告
不感兴趣
开通SVIP免广告
  • BlueWanderer
  • 活跃吧友
    4
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
curandGenerate生成32位随机数,curandGenerateUniform生成(0, 1]的浮点数。头文件里写的很清楚啊。
RAND_MAX是C语言标准库的东西,表示rand()返回的最大值,原则上不是一个固定的数,虽然一般都是32767。和别的环境没有关系。


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 2回复贴,共1页
<<返回cuda吧
分享到:
©2026 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示