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()如何并行工作?的主要内容,如果未能解决你的问题,请参考以下文章