Remove Serialization

 You can improve the performance of the poisson sample program by replacing the blocking  MPI_Sendrecv with non-blocking communications via MPI_Isend. The modified source file pardat.f90_icomm is available in the source folder. The trace file of the modified program is also available: <install-dir>/examples/traces/poisson_icomm.single.stf.

Once corrected, the single iteration of the revised program will look similar to this:

Since poisson_sendrecv.single.stf is a striking example of serialization, almost all of the Intel® Trace Analyzer charts show this interesting pattern. But in the real-world cases, it may be necessary to formulate a hypothesis regarding how the program should behave and to check this hypothesis using the most suitable chart.

Key Terms

Serialization

For more complete information about compiler optimizations, see our Optimization Notice.