このプログラムは、MPI のコンテキストで使用されます。Fortran の MPI 実装です。module.like 内で配列を宣言します
module var
real,save ::arr(8)
end module
次に、サブルーチン likeinit
を使用して、配列 arr を初期化します。メインプログラムユニットでは、最初に呼び出しinit
て配列 arr を初期化します。次に、別のサブルーチンを呼び出しalgo
て、いくつかの計算を実行します。サブルーチンの開始時にalgo
、arr の値は正しいです。計算のプロセス中に、arr の値が奇妙に変化しました。一部のプロセッサでは arr の値を変更するコードはありませんが、他のプロセッサでは値は正しいです。コードを確認しましたが、計算中に arr の値を変更するコードはないと確信しています。ところで、モジュール var 内で宣言されている変数の数は数多くあります。