Trait mpi::topology::Group
[−]
[src]
pub trait Group: AsRaw<Raw = MPI_Group> { fn union<G>(&self, other: &G) -> UserGroup
where
G: Group, { ... } fn intersection<G>(&self, other: &G) -> UserGroup
where
G: Group, { ... } fn difference<G>(&self, other: &G) -> UserGroup
where
G: Group, { ... } fn include(&self, ranks: &[Rank]) -> UserGroup { ... } fn exclude(&self, ranks: &[Rank]) -> UserGroup { ... } fn size(&self) -> Rank { ... } fn rank(&self) -> Option<Rank> { ... } fn translate_rank<G>(&self, rank: Rank, other: &G) -> Option<Rank>
where
G: Group, { ... } fn translate_ranks<G>(&self, ranks: &[Rank], other: &G) -> Vec<Option<Rank>>
where
G: Group, { ... } fn compare<G>(&self, other: &G) -> GroupRelation
where
G: Group, { ... } }
Groups are collections of parallel processes
Provided Methods
fn union<G>(&self, other: &G) -> UserGroup where
G: Group,
G: Group,
Group union
Constructs a new group that contains all members of the first group followed by all members of the second group that are not also members of the first group.
Standard section(s)
6.3.2
fn intersection<G>(&self, other: &G) -> UserGroup where
G: Group,
G: Group,
Group intersection
Constructs a new group that contains all processes that are members of both the first and second group in the order they have in the first group.
Standard section(s)
6.3.2
fn difference<G>(&self, other: &G) -> UserGroup where
G: Group,
G: Group,
Group difference
Constructs a new group that contains all members of the first group that are not also members of the second group in the order they have in the first group.
Standard section(s)
6.3.2
fn include(&self, ranks: &[Rank]) -> UserGroup
Subgroup including specified ranks
Constructs a new group where the process with rank ranks[i]
in the old group has rank i
in the new group.
Standard section(s)
6.3.2
fn exclude(&self, ranks: &[Rank]) -> UserGroup
Subgroup including specified ranks
Constructs a new group containing those processes from the old group that are not mentioned
in ranks
.
Standard section(s)
6.3.2
fn size(&self) -> Rank
fn rank(&self) -> Option<Rank>
fn translate_rank<G>(&self, rank: Rank, other: &G) -> Option<Rank> where
G: Group,
G: Group,
Find the rank in group other' of the process that has rank
rank` in this group.
If the process is not a member of the other group, returns None
.
Standard section(s)
6.3.1
fn translate_ranks<G>(&self, ranks: &[Rank], other: &G) -> Vec<Option<Rank>> where
G: Group,
G: Group,
Find the ranks in group other' of the processes that have ranks
ranks` in this group.
If a process is not a member of the other group, returns None
.
Standard section(s)
6.3.1
fn compare<G>(&self, other: &G) -> GroupRelation where
G: Group,
G: Group,
Implementors
impl Group for SystemGroup
impl Group for UserGroup