In this case the message from process 2to process 0 is never received, and deadlock results. Communicators are opaque objects, which means they can only be manipulated using MPI routines. The key point about communicators is that when a communicator is created by an MPI routine it is guaranteed to be unique. Thus it is possible to create a communicator and pass it to a software library for use in all that library's message passing. Provided that communicator is not used for any message passing outside of the library, the library's messages and those of the rest of the application cannot be confused.
Communicators have a number of attributes.
Communicators also have a topology attribute which gives the topology of the process group. Topologies are discussed in Section 6 . In addition, users may associate arbitrary attributes with communicators through a mechanism known as caching. All trademarks and copyrights on this page are owned by their respective owners.