parallel-processing - 如何在 Fortran 中编写并行安全随机数生成器
问题描述
这是对这个问题的跟进。
我发现这Random_number()
对于并行编程不可靠,它给出了不可重现的结果,而且我的程序严重依赖随机数。
如何在 Fortran 中编写并行安全的随机数生成器?
或者我在哪里可以找到它?
解决方案
从 Fortran 2018 开始,可以对调用图像的伪随机数生成器进行初始化,使得伪随机数序列与执行类似语句的其他图像的伪随机数序列不同,并且在程序的后续执行中会有所不同。
CALL RANDOM_INIT (REPEATABLE=.FALSE., IMAGE_DISTINCT=.TRUE.)
推荐阅读
- python - 使用 df.loc[] 根据另一个为空的列值更新数据框列值
- android - 用于长期通知的 AlarmManager - 它有效
- dsc - 删除未知本地用户的 DSC 策略
- php - Mysql查询连接表无法使用where条件
- xml - PowerShell - 基于属性值获取所有 XML 节点
- scala - JSON 引号使解析变得不可能
- python - 是否有任何通用 Python 模块可用于从不同格式的 HTML 表中获取数据
- c++ - VirtDisk.h QueryChangesVirtualDisk() 函数将 RangeCount 返回为 0
- php - 通过ajax(Laravel)将变量数组发送到控制器
- cmake - CMake中add_custom_target的作用是什么?