0

基本的に、すべてのノードで同じ物理時間に同じ値を返す関数が必要です。私はもともとgettimeofdayを使用していますが、異なるノード間の同期タイミングを行うかどうかはわかりません。

現在、MPI_Wtime の使用を検討しています。最初に、MPI タスクを実行するときに MPI_WTIME_IS_GLOBAL の値を確認しました。

The value returned for MPI_WTIME_IS_GLOBAL is 1 if clocks MPI_WTIME_IS_GLOBAL at all processes in MPI_COMM_WORLD are synchronized, 0 otherwise. 

MPI を実行すると、1 または 0 ではなく 3 が返されます。MPI を実行すると返される "3" の意味がわかりません。

ところで、マニュアルには次のようにも書かれています。

The boolean variable MPI_WTIME_IS_GLOBAL, a predefined attribute key that indicates whether clocks are synchronized, does not have a valid value in Open MPI, as the clocks are not guaranteed to be synchronized.

しかし、実際には OpenMPI-1.7.2 を使用しています。それは、OpenMPI と同期するタイミング メソッドが見つからないということですか?

4

1 に答える 1

1

OpenMPI (1.7.1) ドキュメントから:

ブール変数 MPI_WTIME_IS_GLOBAL (クロックが同期されているかどうかを示す定義済みの属性キー) は、クロックが同期されていることが保証されていないため、Open MPI では有効な値を持ちません。

この機能が 1.7.1 から 1.7.2 に変更される可能性は低いと思われるので、あなたの質問に対する答えはNo, OpenMPI does not provide synchronized timing across processes ではないかと思います。整数値 3 は、ブール変数が有効な値を持たないという考えをサポートします。

于 2013-09-27T07:33:51.427 に答える