社区
CUDA
帖子详情
cuda cudarand device api 产生准随机数
baxia678
2015-04-10 06:37:19
请教大家一个问题,关于curand的问题,device api产生准随机数,可是计算出来的值一直跟传入的direction_vectors理的值一样,我是这样写的
先用curand_init初始化,再用curand,这样的写法是不是有问题啊,输出来的结果一直不对,跟direction_vectors一模一样
麻烦大家啦
,帮我看下
...全文
221
回复
打赏
收藏
cuda cudarand device api 产生准随机数
请教大家一个问题,关于curand的问题,device api产生准随机数,可是计算出来的值一直跟传入的direction_vectors理的值一样,我是这样写的 先用curand_init初始化,再用curand,这样的写法是不是有问题啊,输出来的结果一直不对,跟direction_vectors一模一样 麻烦大家啦,帮我看下
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
【
CUDA
编程】
随机数
生成
随机数
在一般编程中都会涉及,特别是在仿真过程中。我之前有几篇文章介绍了如何通过CPU函数调用
产生
随机数
,这里我介绍如何在
CUDA
中
产生
随机数
。在
CUDA
中,主要使用cu
RAND
库中的函数来
产生
随机数
,其链接文档为https://docs.nvidia.com/
cuda
/cu
rand
/index.html 。 通过文档可知,cu
RAND
库提供两种方式的
随机数
生成:host与
device
。关于具体如何生成
随机数
,我们可参考文档中的Host
API
Example 和
Device
API
Examples。其
cuda
随机数
生成
前言 host端当然可以用cstdlib中的
rand
()函数生成
随机数
,但设备端如何使用这些
随机数
?每调用一次
rand
(),就通过
cuda
Memcpy传递给显存吗?显然不是,这会消耗太多I/O时间;先调用n次,一次性传到
device
中吗?虽然可行,但并不是最优解。能否用一种方法,让主机仅仅传给设备一个信号,使得多个
随机数
在
device
端被生成,这样就能避免过多的I/O带来的耗时问题;或者调用一个设备端函数,使得设备端可以根据需要动态生成
随机数
。于是cu
rand
库和cu
rand
_kernel库进入了我们的视野
cuda
生成
随机数
-完美版
能用谷歌就不要用百度,真的,对自己好一点,效率高一点。 下面是一个
cuda
中如何
产生
随机数
的demo,改改可用。我已经用了:D。 int n = 200; using namespace std; __
device
__ float generate( cu
rand
State* globalState, int ind ) { //int in
CUDA
--生成
随机数
cu
rand
函数
CUDA
总共提供两种类型的
随机数
生成,一种是位于host(CPU)端的
随机数
,一种是位于
device
(GPU)端的
随机数
。 (1) 对于host端的
随机数
生成,需要#include<cu
rand
.h>头文件,还需要cu
rand
依赖库。不过host端
随机数
不一定要在host端生成,也可以指定在
device
端生成。当指定在host端生成
随机数
时,程序调用CPU完成所有
随机数
,并将所有的结果保存在host端;而当指定在
device
端生成
随机数
时,程序的调用由CPU完成,程序的执行却是在
device
端.
CUDA
(四)
CUDA
库函数-----
随机数
生成cu
RAND
此博客为博主的自学笔记 ,欢迎大家共同交流,如果有错误的地方欢迎留言指正。
CUDA
提供了若干个高速的库函数,先介绍一下比较简单的符点型
随机数
生成函数-------cu
RAND
。 cu
RAND
库函数分为可以在GPU的核函数中使用的
API
(即被__
device
__关键字修饰的函数)和在主机侧被使用的
API
(其实内部由GPU的
API
组成)两种。本次我只介绍被主机侧使用的
API
。 在主机侧使用随机
CUDA
580
社区成员
2,919
社区内容
发帖
与我相关
我的任务
CUDA
CUDA™是一种由NVIDIA推出的通用并行计算架构,该架构使GPU能够解决复杂的计算问题。 它包含了CUDA指令集架构(ISA)以及GPU内部的并行计算引擎。
复制链接
扫一扫
分享
社区描述
CUDA™是一种由NVIDIA推出的通用并行计算架构,该架构使GPU能够解决复杂的计算问题。 它包含了CUDA指令集架构(ISA)以及GPU内部的并行计算引擎。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章