该程序在 MPI 的上下文中使用。它是 fortran 的 MPI 实现。我在 module.like 中声明了一个数组
module var
real,save ::arr(8)
end module
然后使用子程序init
来初始化数组 arr。在主程序单元中,首先调用init
初始化数组arr。然后调用另一个子程序,像algo
做一些计算。在子程序开始时algo
,arr的值是正确的。在计算过程中,arr的值发生了奇怪的变化在某些处理器上,虽然没有代码更改 arr 的值,而在其他处理器上该值是正确的。我检查了代码,我很确定在计算过程中没有代码会改变 arr 的值。顺便说一句,在模块 var 中声明的变量数量很多。