次のコードを使用して、異なるボックスの作業ノード間で同期しました。
MPI_Barrier(MPI_COMM_WORLD);
gettimeofday(&time[0], NULL);
printf("RANK: %d starts at %lld sec, %lld usec\n",rank, time[0].tv_sec, time[0].tv_usec);
同じノードで 2 つのタスクを実行すると、開始時間が非常に近くなります。
RANK: 0 starts at 1379381886 sec, 27296 usec
RANK: 1 starts at 1379381886 sec, 27290 usec
ただし、2 つの異なるノードで 2 つのタスクを実行すると、開始時間がさらに異なります。
RANK: 0 starts at 1379381798 sec, 720113 usec
RANK: 1 starts at 1379381798 sec, 718676 usec
次の違いは合理的ですか?それとも、ノード間の通信の問題を暗示していますか?