Tad Lake wrote:
I run it :
mpirun -np 2 --host node2 ./a.out
But the result of time is not stable with difference of 100 times. For example,
the max value of time can be 3000, meanwhile the min is 100.
Again, know what results to expect. Is 3000 a reasonable time and 100
too fast? Or, is 100 a reasonable time and 3000 too slow? Or other?
The expected result should depend on the number of messages (2000), the
size of a message (40Kbyte), and the interconnect (apparently shared
memory even though you have openib). 2000 messages should take at least
thousands of microseconds and when the messages are 40 Kbyte each even
longer.
Try running the timing loop multiple times per program invocation and
using MPI_Wtime() for your timer.