random_number()如何并行工作?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了random_number()如何并行工作?相关的知识,希望对你有一定的参考价值。

random_number()如何与OpenMP并行工作?

如果我在没有并行化的情况下运行程序,我总是会得到相同的结果,但是在并行化的情况下,每次都会得到不同(但相似)的结果。

答案

通常,不能保证random_number的线程安全或线程性能。 Fortran标准根本不了解OpenMP。

各个编译器可能会为您提供一些保证,但是它们仅对特定编译器中存在的版本有效。例如,当前的gfortran版本提供了线程安全的随机数生成器,并且"Note that in a multi-threaded program (e.g. using OpenMP directives), each thread will have its own random number state."其他编译器可能有所不同。显然,您的用户可能要使用的编译器可能会有所不同,您可能对此一无所知。

以上是关于random_number()如何并行工作?的主要内容,如果未能解决你的问题,请参考以下文章

Node.js - Async.js:并行执行如何工作?

async/await 如何以串行和并行方式工作?

python Python并行分配。交换如何在内部工作

如何在Windows上进行并行化 - 例如?

WPF - 如何扩展(或并行工作)内置命令机制?

如何在 Azure ML 服务计算集群上并行工作?