HP-MPI User's Guide (11th Edition)

Frequently asked questions
Performance problems
Appendix D 303
If your application still hangs after you convert MPI_Send and MPI_Rsend
calls to MPI_Ssend, you know that your code is written to depend on
buffering. You should rewrite it so that MPI_Send and MPI_Rsend do not
depend on buffering.
Alternatively, use non-blocking communication calls to initiate send
operations. A non-blocking send-start call returns before the message is
copied out of the send buffer, but a separate send-complete call is needed
to complete the operation. Refer also to “Sending and receiving
messages” on page 7 for information about blocking and non-blocking
communication. Refer to “MPI_FLAGS” on page 137 for information
about MPI_FLAGS options.
QUESTION: How do I turn on MPI collection of message lengths? I want an
overview of MPI message lengths being sent within the application.
ANSWER
: The information is available through HP-MPI’s
instrumentation feature. Basically, including -i <filename> on the
mpirun command line will create <filename> with a report that includes
number and sizes of messages sent between ranks. Refer to “Creating an
instrumentation profile” on page 175 for more information.