EpetraExt
Development
|
#include <EpetraExt_MultiMpiComm.h>
Public Member Functions | |
virtual Epetra_Comm & | SubDomainComm () const |
Get reference to split Communicator for sub-domain. More... | |
Epetra_MpiComm & | SubDomainMpiComm () const |
Get reference to split MPI Communicator for sub-domain. More... | |
virtual Epetra_Comm & | TimeDomainComm () const |
Get reference to split Communicator for time domain. More... | |
Epetra_MpiComm & | TimeDomainMpiComm () const |
Get reference to split MPI Communicator for time domain. More... | |
virtual int | NumSubDomains () const |
Return number of sub-domains that the global problem is split into. More... | |
virtual int | SubDomainRank () const |
Return integer [0:numSubDomains-1} corresponding to this sub-domain's rank. More... | |
virtual int | NumTimeDomains () const |
Return number of time domains that the global problem is split into. More... | |
virtual int | TimeDomainRank () const |
Return integer [0:numTimeDomains-1} corresponding to this time-domain's rank. More... | |
virtual int | NumTimeStepsOnDomain () const |
Return number of time steps, first step number, on time domain. More... | |
virtual int | FirstTimeStepOnDomain () const |
virtual int | NumTimeSteps () const |
Return total number of time steps. More... | |
void | ResetNumTimeSteps (int numTimeSteps) |
Reset total number of time steps, allowing time steps per domain to. More... | |
virtual Epetra_Comm * | Clone () const |
virtual void | Barrier () const |
virtual int | Broadcast (double *MyVals, int Count, int Root) const |
virtual int | Broadcast (int *MyVals, int Count, int Root) const |
virtual int | Broadcast (long *MyVals, int Count, int Root) const |
virtual int | Broadcast (long long *MyVals, int Count, int Root) const |
virtual int | Broadcast (char *MyVals, int Count, int Root) const |
virtual int | GatherAll (double *MyVals, double *AllVals, int Count) const |
virtual int | GatherAll (int *MyVals, int *AllVals, int Count) const |
virtual int | GatherAll (long *MyVals, long *AllVals, int Count) const |
virtual int | GatherAll (long long *MyVals, long long *AllVals, int Count) const |
virtual int | SumAll (double *PartialSums, double *GlobalSums, int Count) const |
virtual int | SumAll (int *PartialSums, int *GlobalSums, int Count) const |
virtual int | SumAll (long *PartialSums, long *GlobalSums, int Count) const |
virtual int | SumAll (long long *PartialSums, long long *GlobalSums, int Count) const |
virtual int | MaxAll (double *PartialMaxs, double *GlobalMaxs, int Count) const |
virtual int | MaxAll (int *PartialMaxs, int *GlobalMaxs, int Count) const |
virtual int | MaxAll (long *PartialMaxs, long *GlobalMaxs, int Count) const |
virtual int | MaxAll (long long *PartialMaxs, long long *GlobalMaxs, int Count) const |
virtual int | MinAll (double *PartialMins, double *GlobalMins, int Count) const |
virtual int | MinAll (int *PartialMins, int *GlobalMins, int Count) const |
virtual int | MinAll (long *PartialMins, long *GlobalMins, int Count) const |
virtual int | MinAll (long long *PartialMins, long long *GlobalMins, int Count) const |
virtual int | ScanSum (double *MyVals, double *ScanSums, int Count) const |
virtual int | ScanSum (int *MyVals, int *ScanSums, int Count) const |
virtual int | ScanSum (long *MyVals, long *ScanSums, int Count) const |
virtual int | ScanSum (long long *MyVals, long long *ScanSums, int Count) const |
virtual int | MyPID () const |
virtual int | NumProc () const |
virtual Epetra_Distributor * | CreateDistributor () const |
virtual Epetra_Directory * | CreateDirectory (const Epetra_BlockMap &Map) const |
virtual void | PrintInfo (std::ostream &os) const |
Public Member Functions inherited from EpetraExt::MultiComm | |
MultiComm () | |
Constructor. More... | |
virtual | ~MultiComm () |
Destructor. More... | |
Public Member Functions inherited from Epetra_Comm | |
virtual | ~Epetra_Comm () |
Public Member Functions inherited from Epetra_MpiComm | |
Epetra_MpiComm & | operator= (const Epetra_MpiComm &Comm) |
Epetra_MpiComm (MPI_Comm comm) | |
Epetra_MpiComm (const Epetra_MpiComm &Comm) | |
virtual | ~Epetra_MpiComm () |
MPI_Comm | Comm () const |
int | GetMpiTag () const |
MPI_Comm | GetMpiComm () const |
void | Print (std::ostream &os) const |
int | ReferenceCount () const |
const Epetra_MpiCommData * | DataPtr () const |
Protected Attributes | |
Teuchos::RCP< Epetra_Comm > | myComm |
Epetra_MpiComm * | subComm |
Epetra_MpiComm * | timeComm |
int | numSubDomains |
int | numTimeDomains |
int | subDomainRank |
int | timeDomainRank |
int | numTimeSteps |
int | numTimeStepsOnDomain |
int | firstTimeStepOnDomain |
MultiMpiComm (MPI_Comm globalComm, int subDomainProcs, int numTimeSteps_=-1, const Teuchos::EVerbosityLevel verbLevel=Teuchos::VERB_DEFAULT) | |
MultiMpiComm constuctor. More... | |
MultiMpiComm (const Epetra_MpiComm &Comm, int numTimeSteps_, const Teuchos::EVerbosityLevel verbLevel=Teuchos::VERB_DEFAULT) | |
MultiMpiComm constuctor, no parallelism over domains. More... | |
MultiMpiComm (const MultiMpiComm &MMC) | |
Copy constructor. More... | |
virtual | ~MultiMpiComm () |
Destructor. More... | |
Definition at line 73 of file EpetraExt_MultiMpiComm.h.
EpetraExt::MultiMpiComm::MultiMpiComm | ( | MPI_Comm | globalComm, |
int | subDomainProcs, | ||
int | numTimeSteps_ = -1 , |
||
const Teuchos::EVerbosityLevel | verbLevel = Teuchos::VERB_DEFAULT |
||
) |
MultiMpiComm constuctor.
Creates a MultiMpiComm object and communicators for the global and sub- problems.
In | globalComm - MPI communciator (usually MPI_COMM_WORLD) |
In | subDomainProcss - number of processors in each subdomain. This must divide evenly into the total number of processors of the globalComm. |
In | numTimeSteps (Default=-1) - Piece of partitioning data needed specifically for parallel space-time project, corresponding to the total number of time steps. |
Definition at line 48 of file EpetraExt_MultiMpiComm.cpp.
EpetraExt::MultiMpiComm::MultiMpiComm | ( | const Epetra_MpiComm & | Comm, |
int | numTimeSteps_, | ||
const Teuchos::EVerbosityLevel | verbLevel = Teuchos::VERB_DEFAULT |
||
) |
MultiMpiComm constuctor, no parallelism over domains.
Creates a MultiMpiComm object for the simple case of no parallelism over multiple steps.
In | EpetraMpiComm - Epetra_MpiComm communciator |
In | numTimeSteps - Number of steps |
Definition at line 123 of file EpetraExt_MultiMpiComm.cpp.
EpetraExt::MultiMpiComm::MultiMpiComm | ( | const MultiMpiComm & | MMC | ) |
Copy constructor.
Definition at line 150 of file EpetraExt_MultiMpiComm.cpp.
|
virtual |
Destructor.
Definition at line 166 of file EpetraExt_MultiMpiComm.cpp.
|
inlinevirtual |
Get reference to split Communicator for sub-domain.
Implements EpetraExt::MultiComm.
Definition at line 111 of file EpetraExt_MultiMpiComm.h.
|
inline |
Get reference to split MPI Communicator for sub-domain.
Definition at line 114 of file EpetraExt_MultiMpiComm.h.
|
inlinevirtual |
Get reference to split Communicator for time domain.
Implements EpetraExt::MultiComm.
Definition at line 117 of file EpetraExt_MultiMpiComm.h.
|
inline |
Get reference to split MPI Communicator for time domain.
Definition at line 120 of file EpetraExt_MultiMpiComm.h.
|
inlinevirtual |
Return number of sub-domains that the global problem is split into.
Implements EpetraExt::MultiComm.
Definition at line 123 of file EpetraExt_MultiMpiComm.h.
|
inlinevirtual |
Return integer [0:numSubDomains-1} corresponding to this sub-domain's rank.
Implements EpetraExt::MultiComm.
Definition at line 126 of file EpetraExt_MultiMpiComm.h.
|
inlinevirtual |
Return number of time domains that the global problem is split into.
Implements EpetraExt::MultiComm.
Definition at line 129 of file EpetraExt_MultiMpiComm.h.
|
inlinevirtual |
Return integer [0:numTimeDomains-1} corresponding to this time-domain's rank.
Implements EpetraExt::MultiComm.
Definition at line 132 of file EpetraExt_MultiMpiComm.h.
|
inlinevirtual |
Return number of time steps, first step number, on time domain.
Implements EpetraExt::MultiComm.
Definition at line 135 of file EpetraExt_MultiMpiComm.h.
|
inlinevirtual |
Implements EpetraExt::MultiComm.
Definition at line 136 of file EpetraExt_MultiMpiComm.h.
|
inlinevirtual |
Return total number of time steps.
Implements EpetraExt::MultiComm.
Definition at line 139 of file EpetraExt_MultiMpiComm.h.
|
virtual |
Reset total number of time steps, allowing time steps per domain to.
Implements EpetraExt::MultiComm.
Definition at line 172 of file EpetraExt_MultiMpiComm.cpp.
|
inlinevirtual |
Reimplemented from Epetra_MpiComm.
Definition at line 145 of file EpetraExt_MultiMpiComm.h.
|
inlinevirtual |
Reimplemented from Epetra_MpiComm.
Definition at line 146 of file EpetraExt_MultiMpiComm.h.
|
inlinevirtual |
Reimplemented from Epetra_MpiComm.
Definition at line 147 of file EpetraExt_MultiMpiComm.h.
|
inlinevirtual |
Reimplemented from Epetra_MpiComm.
Definition at line 149 of file EpetraExt_MultiMpiComm.h.
|
inlinevirtual |
Reimplemented from Epetra_MpiComm.
Definition at line 151 of file EpetraExt_MultiMpiComm.h.
|
inlinevirtual |
Reimplemented from Epetra_MpiComm.
Definition at line 153 of file EpetraExt_MultiMpiComm.h.
|
inlinevirtual |
Reimplemented from Epetra_MpiComm.
Definition at line 155 of file EpetraExt_MultiMpiComm.h.
|
inlinevirtual |
Reimplemented from Epetra_MpiComm.
Definition at line 157 of file EpetraExt_MultiMpiComm.h.
|
inlinevirtual |
Reimplemented from Epetra_MpiComm.
Definition at line 159 of file EpetraExt_MultiMpiComm.h.
|
inlinevirtual |
Reimplemented from Epetra_MpiComm.
Definition at line 161 of file EpetraExt_MultiMpiComm.h.
|
inlinevirtual |
Reimplemented from Epetra_MpiComm.
Definition at line 163 of file EpetraExt_MultiMpiComm.h.
|
inlinevirtual |
Reimplemented from Epetra_MpiComm.
Definition at line 165 of file EpetraExt_MultiMpiComm.h.
|
inlinevirtual |
Reimplemented from Epetra_MpiComm.
Definition at line 167 of file EpetraExt_MultiMpiComm.h.
|
inlinevirtual |
Reimplemented from Epetra_MpiComm.
Definition at line 169 of file EpetraExt_MultiMpiComm.h.
|
inlinevirtual |
Reimplemented from Epetra_MpiComm.
Definition at line 171 of file EpetraExt_MultiMpiComm.h.
|
inlinevirtual |
Reimplemented from Epetra_MpiComm.
Definition at line 173 of file EpetraExt_MultiMpiComm.h.
|
inlinevirtual |
Reimplemented from Epetra_MpiComm.
Definition at line 175 of file EpetraExt_MultiMpiComm.h.
|
inlinevirtual |
Reimplemented from Epetra_MpiComm.
Definition at line 177 of file EpetraExt_MultiMpiComm.h.
|
inlinevirtual |
Reimplemented from Epetra_MpiComm.
Definition at line 179 of file EpetraExt_MultiMpiComm.h.
|
inlinevirtual |
Reimplemented from Epetra_MpiComm.
Definition at line 181 of file EpetraExt_MultiMpiComm.h.
|
inlinevirtual |
Reimplemented from Epetra_MpiComm.
Definition at line 183 of file EpetraExt_MultiMpiComm.h.
|
inlinevirtual |
Reimplemented from Epetra_MpiComm.
Definition at line 185 of file EpetraExt_MultiMpiComm.h.
|
inlinevirtual |
Reimplemented from Epetra_MpiComm.
Definition at line 187 of file EpetraExt_MultiMpiComm.h.
|
inlinevirtual |
Reimplemented from Epetra_MpiComm.
Definition at line 189 of file EpetraExt_MultiMpiComm.h.
|
inlinevirtual |
Reimplemented from Epetra_MpiComm.
Definition at line 191 of file EpetraExt_MultiMpiComm.h.
|
inlinevirtual |
Reimplemented from Epetra_MpiComm.
Definition at line 193 of file EpetraExt_MultiMpiComm.h.
|
inlinevirtual |
Reimplemented from Epetra_MpiComm.
Definition at line 195 of file EpetraExt_MultiMpiComm.h.
|
inlinevirtual |
Reimplemented from Epetra_MpiComm.
Definition at line 197 of file EpetraExt_MultiMpiComm.h.
|
inlinevirtual |
Reimplemented from Epetra_MpiComm.
Definition at line 198 of file EpetraExt_MultiMpiComm.h.
|
inlinevirtual |
Reimplemented from Epetra_MpiComm.
Definition at line 199 of file EpetraExt_MultiMpiComm.h.
|
inlinevirtual |
Reimplemented from Epetra_MpiComm.
Definition at line 200 of file EpetraExt_MultiMpiComm.h.
|
inlinevirtual |
Reimplemented from Epetra_MpiComm.
Definition at line 202 of file EpetraExt_MultiMpiComm.h.
|
protected |
Definition at line 202 of file EpetraExt_MultiMpiComm.h.
|
protected |
Definition at line 208 of file EpetraExt_MultiMpiComm.h.
|
protected |
Definition at line 209 of file EpetraExt_MultiMpiComm.h.
|
protected |
Definition at line 210 of file EpetraExt_MultiMpiComm.h.
|
protected |
Definition at line 211 of file EpetraExt_MultiMpiComm.h.
|
protected |
Definition at line 212 of file EpetraExt_MultiMpiComm.h.
|
protected |
Definition at line 213 of file EpetraExt_MultiMpiComm.h.
|
protected |
Definition at line 215 of file EpetraExt_MultiMpiComm.h.
|
protected |
Definition at line 216 of file EpetraExt_MultiMpiComm.h.
|
protected |
Definition at line 217 of file EpetraExt_MultiMpiComm.h.