我想用pyCUDA
生成随机数。
为此,我使用以下代码,我在Kaggle虚拟机上运行:
import numpy as np
import time
import pycuda.gpuarray as gpuarray
import pycuda.driver as cuda
import pycuda.autoinit
from pycuda.compiler import SourceModule
N = 10
from pycuda.curandom import XORWOWRandomNumberGenerator
rng = XORWOWRandomNumberGenerator()
d_x = rng.gen_uniform((N,), dtype = np.float32)
我的问题是我如何用种子喂养随机数发生器。
类
pycuda.curandom.XORWOWRandomNumberGenerator(seed_getter=None, offset=0)
参数:
seed_getter
- 给定整数计数的函数将产生int32
GPUArray种子。
offset
- 给定种子的XORWOW序列的起始索引。
什么是seed_getter
函数的例子?
curandom
模块有两个用于生成随机种子的内置函数:
seed_getter_uniform
将返回一个用单个随机种子初始化的数组长度N,和seed_getter_unique
将返回一个用N个不同随机种子初始化的数组。根据您是否希望所有内部生成器实例使用相同的种子或唯一种子,使用其中一个。