Assembly: MPI (in MPI.dll)
Version: 1.0.0.0 (1.0.0.0)
Syntax
| C# |
|---|
public abstract class Communicator : IDisposable, ICloneable |
| Visual Basic (Declaration) |
|---|
Public MustInherit Class Communicator _ Implements IDisposable, ICloneable |
| Visual C++ |
|---|
public ref class Communicator abstract : IDisposable, ICloneable |
Remarks
Intracommunicators are the most commonly used form of communicator. Each intracommunicator contains a set of processes, each of which is identified by its "rank" within the communicator. The ranks are numbered 0 through Size-1. Any process in the communicator can Send<(Of <(T>)>)(T, Int32, Int32) a message to another process within the communicator or Receive<(Of <(T>)>)(Int32, Int32) a message from any other process in the communicator. Intracommunicators also support a variety of collective operations that involve all of the processes in the communicator. Most MPI communication occurs within intracommunicators, with very few MPI programs requiring intercommunicators.
Intercommunicators differ from intracommunicators in that intercommunicators contain two disjoint groups of processes, call them A and B. Any process in group A can send a message to or receive a message from any process in group B, and vice-versa. However, there is no way to use an intercommunicator to send messages among the processes within a group. Intercommunicators are often useful in large MPI applications that tie together many, smaller modules. Typically, each module will have its own intracommunicators and the modules will interact with each other via intercommunicators.