文档帮助中心
G燃烧
并行.gpu.rng
GPU计算的随机数生成控制
Gburng(种子)
gpurng('shuffle')
gpurng(种子、发电机)
gpurng('shuffle',生成器)
gpurng('默认值')
S=G旋转
G转弯
S=G旋转(___)
G燃烧(种子)设置GPU计算中使用的随机数生成器的起点或种子,以便兰特,兰迪,和兰登产生可预测的数字序列。
G燃烧(种子)
种子
兰特
兰迪
兰登
gpurng('shuffle')基于当前时间设置随机数生成器的种子,以便兰特,兰迪,和兰登每次通话后产生不同的数字序列G燃烧.
G燃烧(种子,发电机)或gpurng('shuffle',发电机)选择所使用的随机数生成器的类型兰特,兰迪,和兰登.
G燃烧(种子,发电机)
发电机
gpurng('shuffle',发电机)
gpurng('默认值')将随机数生成器的设置返回到其默认值。生成的随机数与重新启动MATLAB时的随机数相同®. 默认设置为三人组种子发生器0.
三人组
0
S=G燃烧将随机数生成器的当前状态返回为具有字段“Type”、“Seed”和“state”的结构。使用此结构可在稍后使用将随机数生成器还原为捕获的设置G燃烧(S).
S=G燃烧
S
G燃烧(S)
G燃烧(S)使用以前捕获的设置还原随机数生成器的状态S=G旋转.
S=G燃烧(___)在更改种子或生成器类型的设置之前,将随机数生成器的当前状态作为结构返回。
S=G燃烧(___)
全部折叠
捕获GPU生成器设置,并将CPU随机数生成器的状态设置为与GPU生成器设置匹配。在CPU和GPU上创建可预测的随机数数组。
在CPU和GPU上将生成器类型和种子恢复为其默认值。
G燃烧('默认')rng公司('默认')
保存GPU随机数生成器的默认种子和生成器类型。
GPUdef=gpurng
GPUdef公司=带字段的结构:类型:“threefry”种子:0状态:[17×1 uint32]
将CPU随机数生成器设置为与默认GPU设置匹配。
rng(GPUdef)
在GPU上创建均匀分布的随机数数组。
rGPU=兰特(1,10,“gpuArray”)
rGPU=0.3640 0.5421 0.6543 0.7436 0.0342 0.8311 0.7040 0.2817 0.1163 0.5671
在CPU上创建一个随机数数组。
rCPU=兰特(1,10)
rCPU公司=1×100.3640 0.5421 0.6543 0.7436 0.0342 0.8311 0.7040 0.2817 0.1163 0.5671
GPU和CPU的种子类型和生成器类型相同,因此阵列是相同的。
等质量(rGPU、rCPU)
答案=符合逻辑的1.
这个G燃烧状态不保存用于生成正态分布随机数集的转换的设置。尽管GPU和CPU上的种子和生成器类型相同,但正态分布随机数集是不同的。
nGPU=兰登(11000,“gpuArray”); nCPU=兰登(11000);数字保持在直方图(nGPU)直方图(nCPU)图例('GPU','中央处理器')职务('正态分布随机数')xlabel公司('值')伊莱贝尔('计数')保持关
随机数正态分布的统计在GPU和CPU上是相同的。
默认情况下,CPU使用“Ziggurat”转换,而GPU使用“博克斯穆勒”算法“三人组”发电机。CPU和GPU上唯一支持的转换方法是万博1manbetx'反转'转变。
“Ziggurat”
“博克斯穆勒”
“三人组”
'反转'
您可以使用更改GPU上的转换方法并行.gpu.RandStream.
并行.gpu.RandStream
随机数种子,指定为非负整数。种子指定算法生成随机数的起点。当需要可复制的结果时,请指定种子。默认种子为0.
例子:G转弯(7)
G转弯(7)
随机数生成器,指定为支持多个流和子流的任何有效随机数生成器的字符向量或字符串。GPU上支持三种随机数生成器算法。万博1manbetx
“3x4x64\u 20”
“菲洛克斯”
'Philox4x32\u 10'
'组合递归'
'mrg32k3a'
默认生成器为三人组.
有关在GPU和CPU上生成随机数之间的差异的更多信息,请参阅控制工人的随机数流.
例子:gpurng(0,'Philox')
gpurng(0,'Philox')
以前的随机数生成器状态,指定为以前使用S=G旋转.
例子:S=G旋转捕获随机数生成器的当前状态,以及G转弯将生成器恢复为这些设置。
数据类型:结构
结构
随机数生成器状态,作为带字段的结构返回'类型','种子',和'州'.
'类型'
'种子'
'州'
全部展开
R2019a中的行为改变
从R2019a开始,用于并行计算的默认随机数生成器更改为三人组. 与以前的默认值相比,此生成器为并行计算提供了性能增强。在R2018b之前的版本中,用于并行计算的默认随机数生成器是组合递归.
组合递归
使用不同的默认生成器,MATLAB在并行计算环境中默认生成不同的随机数序列。然而,这些计算的统计数据仍然不受影响。因此,您可能希望更新依赖于所生成的特定随机数的任何代码,但对随机数的大多数计算不受影响。
要将generator设置为R2018b和早期GPU阵列上默认使用的设置,请使用以下命令。
gpurng(0,“递归”)
R2018a中的行为改变
从R2018a开始,函数并行.gpu.rng已重命名为G燃烧. 替换的所有实例并行.gpu.rng具有G燃烧.
并行.gpu.rng将继续工作,但不推荐。
gpuArray公司|并行.gpu.RandStream|rng公司
gpuArray公司
rng公司
您的系统上存在此示例的修改版本。是否要打开此版本?
您单击了与此MATLAB命令对应的链接:
通过在MATLAB命令窗口中输入命令来运行该命令。Web浏览器不支持MATLAB命令。万博1manbetx
选择一个网站来获取翻译后的内容,并查看当地的活动和优惠。根据您的位置,我们建议您选择:.
也可以从以下列表中选择网站:
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家/地区网站没有针对您所在位置的访问进行优化。
联系当地办事处
马上受审