0
votes

Based on the message size same MPI collectives use different algorithms. I am particularly interested in MPICH, how am I able to print these values in bytes for every collective I am using?

1

1 Answers

2
votes

MPICH provides a number of environment variables to control what algorithm it chooses at runtime. Check your MPICH installation's documentation for the default values of these variables. For example, on my PC running Fedora 23, after installing the mpich packages, I have a file at /usr/share/doc/mpich/README.envvar documenting these variables. Following is a section of that file:

MPIR_CVAR_ALLGATHER_LONG_MSG_SIZE Aliases: MPIR_PARAM_ALLGATHER_LONG_MSG_SIZE MPICH_ALLGATHER_LONG_MSG_SIZE Description: For MPI_Allgather and MPI_Allgatherv, the long message algorithm will be used if the send buffer size is >= this value (in bytes) (See also: MPIR_CVAR_ALLGATHER_SHORT_MSG_SIZE) Default: 524288