いくつかの導体の熱伝達を計算するコードがあります。1つのコンダクターで発生したことは、モデル内の他のコンダクターに影響を与えません。そのため、これらのコンダクターのソリューションを並列に実行し、各プロセッサーが異なるコンダクターのセットを使用するようにしようとしています。ここで、コマンドを配置するこのループに到達するまで、コードは1つのコアで実行することで機能すると思いました。
MPI_INIT
次に、要求したコアの数に応じてコードのこのセクションを実行し、コマンドの後に1つのコアでの実行に戻ります。
MPI_FINALIZE
に遭遇しました。しかし、私が見ているのは、入力ファイルが両方のコアによって読み込まれ(2つのコアを使用している場合)、すべての出力も2回出力されることです。MPIは思ったように動作しませんか?そうでない場合、どうすれば私が望む動作を実現できますか?コードのその1つのセグメントに対して複数のコアでコードを実行するだけで、MPI_INITおよびMPI_FINALIZE以外の他のサブルーチンやコードの一部では実行しないでください。