基本上我需要一个函数在所有节点上的相同物理时间返回相同的值。我最初使用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 同步的计时方法?