Try lowering the eager threshold more gradually... e.g., 4K, 2K, 1K,
512, etc. -- and watch what happens. I think you will see what you
expect, except once you get too small then the value is ignored
entirely. So, the setting just won't work at the extreme value (0) you
want.
Maybe the thing to do is convert your MPI_Send calls to MPI_Ssend
calls. Or, compile in a wrapper that intercepts MPI_Send calls and
implements them by calling PMPI_Ssend.
George Markomanolis wrote:
Dear all,
I am trying to disable the eager mode in OpenMPI 1.3.3 and I don't see
a real difference between the timings.
I would like to execute a ping (rank 0 sends a message to rank 1) and
to measure the duration of the MPI_Send on rank 0 and the duration of
MPI_Recv on rank 1. I have the following results.
Without changing the eager mode:
bytes MPI_Send (in msec) MPI_Recv (in msec)
1 5.8 52.2
2 5.6 51.0
4 5.4 51.1
8 5.6 51.6
16 5.5 49.7
32 5.4 52.1
64 5.3 53.3
with disabled the eager mode:
ompi_info --param btl tcp | grep eager
MCA btl: parameter "btl_tcp_eager_limit" (current value: "0", data
source: environment)
bytes MPI_Send (in msec) MPI_Recv (in msec)
1 5.4 52.3
2 5.4 51.0
4 5.4 52.1
8 5.4 50.7
16 5.0 50.2
32 5.1 50.1
64 5.4 52.8
However I was expecting that with disabled the eager mode the duration
of MPI_Send should be longer. Am I wrong? Is there any option for
making the MPI_Send to behave like blocking command for all the sizes
of the messages?
Thanks a lot,
Best regards,
George Markomanolis
_______________________________________________
users mailing list
us...@open-mpi.org
http://www.open-mpi.org/mailman/listinfo.cgi/users