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 运行返回 3 而不是 1 或 0。我不确定“3”在我的 MPI 运行中重新调整是什么意思?

顺便说一句,手册还说:

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,因此我怀疑您的问题的答案是否定的,OpenMPI 不提供跨进程同步计时。整数值 3 支持布尔变量没有有效值的想法。

于 2013-09-27T07:33:51.427 回答