Freeing Communicators
(GLOBAL:COLLECTIVE:COMM_FREE_MISMATCH)
A mistake related to
MPI_Comm_free()
is freeing them in different orders on the
involved processes. The MPI standard specifies that MPI_Comm_free()
must be entered by the
processes in the communicator collectively. Some MPIs including Intel® MPI Library
deadlock if this rule is broken, whereas others implement MPI_Comm_free()
as a local call with no
communication.To ensure that this error is detected all the time, Intel® Trace Collector treats
MPI_Comm_free()
just like the
other collective operations. There is no special error message for GLOBAL:COLLECTIVE:COMM_FREE_MISMATCH
, it will
be reported as a mismatch between collective calls (GLOBAL:COLLECTIVE:OPERATION_MISMATCH
) or a
deadlock, so GLOBAL:COLLECTIVE:COMM_FREE_MISMATCH
just refers to the check
which enables or disables this test, not a specific error instance.