文章主要讲fortran在gpu端生成随机数。
首先,调用库函数 cublas_device
其次,声明四个变量
type(curandStateXORWOW) :: h
integer(8) :: seed, seq, offset
最后,调用函数
call curand_init(seed, seq, offset, h)
random = curand_uniform(h)
random为(0,1)之间的实数
最最后,编译的时候 需要在在编译指令里添加 -Mcudalib=curand
这样就可以生成随机数了
本文介绍如何使用 Fortran 在 GPU 上生成 (0,1) 之间的随机数。通过调用 cublas_device 库函数并初始化 curandStateXORWOW 类型的状态变量 h,设置 seed、seq 和 offset 参数,再调用 curand_init 函数完成初始化。最后通过 curand_uniform 函数生成随机数。编译时需加入 -Mcudalib=curand 指令。
6742

被折叠的 条评论
为什么被折叠?



