RCCE(3)

NAME
RCCE_comm_split - RCCE create communicator

SYNOPSIS
#include <rcce.h>

int RCCE_comm_split(int(*color)int,void *), void* aux, RCCE_COMM*comm);

DESCRIPTION
RCCE_comm_split() creates a new communicator, comm, based on the global communicator, RCCE_COMM_WORLD, the function color(), and any custom data the programmer wants to furnish.

color() is called as color(rank, aux) and returns an integer. All UEs must call RCCE_comm_split() with identical arguments.

All UEs with the same return value for color() will be placed in the same communication group. The UEs inside that group are ranked in the order of their rank within the global communicator.

Note the differences between RCCE and MPI_Comm_split(). RCCE_comm_split() has

*   No input communicator; the global communicator is assumed.

*   No key value, the global rank is assumed.

*   No color value, but a uniform function to compute the color, based on global rank and (possibly) other attributes.

The current version of RCCE does not provide the ability to delete RCCE communicators. However, if a communicator is no longer needed, it can safely be overwritten by a new invocation of RCCE_comm_split().

comm
    The new communicator, based on the global communicator, RCCE_COMM_WORLD.

color
    Function pointer to color(). All UEs with the same return value for color() will be placed in the same communication group.

aux Any custom data the programmer wants to furnish.

RETURN VALUE
Upon successful completion RCCE_comm_split() returns RCCE_SUCCESS.

ERRORS
Look in rcce.h for additional error codes.

SEE ALSO
rcce.h(5)

EXAMPLE

To be supplied.