0

ローカル コンピューターで開発している MPI プログラムがありますが、リモート コンピューターで実行する必要があります。以前clock()は時間を測定していましたが、(アーキテクチャがまったく異なるため) リモート マシンでは十分に機能しないことがわかった後、 へのいくつかの呼び出しを に置き換えたところclock()MPI_Wtime()必要な結果が得られました。プログラムは、ローカル マシンとリモート マシンの両方で引き続き実行されます。

ただし、他のすべての呼び出しを に置き換えたところ、ローカル マシンでプログラムを起動すると、すぐにプロセスが終了コード -1073741819 で停止しますclock()。の最初の行にMPI_Wtime()a を入れても出力がないので、私の側のプログラミングの誤りではないと確信していますが、何が問題なのかわかりません。coutmain()

ソース コードの変更によって、変更されたコード (または任意のコード) が実行される前にプログラムが失敗する可能性はありますか?

4

2 に答える 2

4

Are you calling MPI_Wtime() from the constructor of a static object? These run before main().

于 2010-06-10T15:18:51.850 に答える
0

その cout は 'endl' または 'flush' マニピュレータによってフラッシュされましたか? そうでない場合、プログラムは後でクラッシュした可能性がありますが、バッファリングされた出力が失われるため、わかりません。

于 2010-06-10T14:44:42.277 に答える