[This is preliminary documentation and is subject to change.]

Splits a communicator into several different communicators, each of which is identified by a particular color value.

Namespace:  MPI
Assembly:  MPI (in MPI.dll)
Version: (


public Communicator Split(
	int color,
	int key
Visual Basic (Declaration)
Public Function Split ( _
	color As Integer, _
	key As Integer _
) As Communicator
Visual C++
Communicator^ Split(
	int color, 
	int key


Type: System..::.Int32
A non-negative color value, designating which new communicator the calling process will belong two. All processes that provide the same color will be a part of the same resulting communicator.
Type: System..::.Int32
A value that determines how processes with the same color are ranked in the resulting communicator. Smaller keys correspond to lower ranks, with ties broken by the ranks of the processes in the original communicator.

Return Value

The communicator that the calling process is in, corresponding to its color value.


This is a collective operation, where each process may provide a different color and key. Each distinct color value will correspond to a new communicator, which contains all processes that provided that specific color. The ranks of the processes in the resulting communicators will be determined by the key value, with the lower ranks in the communicator assigned to the processes providing the smaller key values; ties are broken based on the ranks of the processes in the original communicato .

See Also