用pyCUDA生成随机数
我想用用pyCUDA生成随机数,cuda,pycuda,Cuda,Pycuda,我想用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 pycud
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)
我的问题是如何为随机数生成器提供种子
最后,它说
classpycuda.curandom.xorwowdrandomNumberGenerator(seed\u getter=None,offset=0)
参数:
seed\u getter
–在给定
整数计数,将生成种子的int32
GPUArray
偏移量
给定种子,开始索引到XORWOW序列
seed\u getter
函数的示例是什么?模块有两个内置函数用于生成随机种子:
根据您希望所有内部生成器实例使用相同的种子还是唯一的种子,使用其中一个或另一个。感谢Talonmes,但我尝试使用
rng=XORWOWRandomNumberGenerator(pycuda.curandom.seed\u getter\u uniform(N))
,但它抛出以下错误:TypeError:“GPUArray”对象不可调用
。您将函数提供给生成器,而不是输出。生成器自行处理种子生成:rng=xorwowdrandomNumberGenerator(pycuda.curandom.seed\u getter\u uniform)
。谢谢