Process Ref Objects
MPI usually deals with processes in groups through communicators. A process is identified by its rank in a process_group. Rank is an integer ID, from 0 to (size – 1) where size is the number of processes in the process_group.
A process_ref (process reference) consists of a process_group and a rank. Since a cloud communicator is always associated with a single process_group, a process_ref can be derived from a cloud and a rank. A split communicator has two groups, local and remote, so a process_ref defined from a split also has to know which process group the rank refers to.
You can categorize processes like this.
- Self – the home process
- Siblings – all processes in the world cloud (MPI_COMM_WORLD) except self
- Parents – the remote process_group of MPI_Comm_get_parent(..)
- Children – spawned processes
- Others – processes which you discover using ports. You can also connect to parents, siblings, and children using ports.