Chi-Tech
chi::ChiMPICommunicatorSet Class Reference

#include <chi_mpi_commset.h>

Public Member Functions

 ChiMPICommunicatorSet (std::vector< MPI_Comm > &communicators, std::vector< MPI_Group > &location_groups, MPI_Group &world_group)
 
MPI_Comm LocICommunicator (int locI) const
 
int MapIonJ (int locI, int locJ) const
 

Private Attributes

std::vector< MPI_Comm > communicators_
 
std::vector< MPI_Group > location_groups_
 
MPI_Group world_group_
 

Detailed Description

Simple implementation a communicator set. Definitions: P = total amount of processors. locI = process I in [0,P]

Definition at line 16 of file chi_mpi_commset.h.

Constructor & Destructor Documentation

◆ ChiMPICommunicatorSet()

chi::ChiMPICommunicatorSet::ChiMPICommunicatorSet ( std::vector< MPI_Comm > &  communicators,
std::vector< MPI_Group > &  location_groups,
MPI_Group &  world_group 
)
inline

Definition at line 29 of file chi_mpi_commset.h.

Member Function Documentation

◆ LocICommunicator()

MPI_Comm chi::ChiMPICommunicatorSet::LocICommunicator ( int  locI) const
inline

Definition at line 37 of file chi_mpi_commset.h.

◆ MapIonJ()

int chi::ChiMPICommunicatorSet::MapIonJ ( int  locI,
int  locJ 
) const
inline

Definition at line 42 of file chi_mpi_commset.h.

Field Documentation

◆ communicators_

std::vector<MPI_Comm> chi::ChiMPICommunicatorSet::communicators_
private

A list of communicators, size P, contains a communicator for only communicating with the neighbors of locI.

Definition at line 21 of file chi_mpi_commset.h.

◆ location_groups_

std::vector<MPI_Group> chi::ChiMPICommunicatorSet::location_groups_
private

A list of groupings, size P, allows mapping of the rank of locJ relative to the local communicator.

Definition at line 24 of file chi_mpi_commset.h.

◆ world_group_

MPI_Group chi::ChiMPICommunicatorSet::world_group_
private

Used to translate ranks.

Definition at line 26 of file chi_mpi_commset.h.


The documentation for this class was generated from the following file: