Characteristics
MPI collective communication routines differ in many ways from MPI point-to-point communication routines, which were introduced in MPI Point-to-Point. Here are some characteristics that distinguish the MPI collective communication routines:
- Involve coordinated communication within a group of processes identified by an MPI communicator
- Substitute for a more complex sequence of point-to-point calls
- For blocking calls, must block until they have completed locally
- May, or may not, use synchronized communications (implementation dependent)
- Specify a root process to originate or receive all data (in some cases)
- Must exactly match amounts of data specified by senders and receivers
- Do not use message tags
- Have many variations within the basic categories
Collective communication routines are built upon point-to-point communication routines. In principle, you could build your own collective communication routines in this way, but it might involve a lot of tedious work and might not be as efficient.