One process calls MPI_Isend()
and then polls for completion, while
the others call MPI_Send()
directly. This happens to work for small
messages, if the MPI buffers the data, but there is no guarantee
that and at which message sizes this is done.
The polling means that there is no real deadlock, because that process could still resolve the situation by posting a receive.
Linux*:
Ensure that the corresponding compiler, Intel® MPI Library, and Intel® Trace Analyzer and Collector are already in your PATH
, and complete these steps:
Build the sample:
$ make
Run the sample:
$ make run
Review the output.
Ensure that the corresponding compilers, Microsoft* Visual Studio*, Intel® MPI Library, and Intel® Trace Analyzer and Collector are already in your PATH
, and complete these steps:
Build the sample:
> build.bat release
Run the sample:
> build.bat run
Review the output.