INMOST
Mathematical Modelling Toolkit
|
Base class for low level operations with objects of Solver class. More...
#include <inmost_solver.h>
Public Member Functions | |
void | Clear () |
bool & | HaveMatrix () |
Return true if Matrix data have already been specified. More... | |
OrderInfo () | |
OrderInfo (const OrderInfo &other) | |
OrderInfo & | operator= (OrderInfo const &other) |
~OrderInfo () | |
void | PrepareMatrix (Sparse::Matrix &m, INMOST_DATA_ENUM_TYPE overlap) |
void | RestoreMatrix (Sparse::Matrix &m) |
Restore initial nonparallel state of the Matrix with no overlap. More... | |
void | PrepareVector (Sparse::Vector &v) const |
Prepare parallel state of the Vector. More... | |
void | RestoreVector (Sparse::Vector &v) const |
Restore initial nonparallel state of the Vector. More... | |
INMOST_DATA_ENUM_TYPE | GetProcessor (INMOST_DATA_ENUM_TYPE gind) const |
Retrieve the processor number by binary search for the specified global index. More... | |
void | GetOverlapRegion (INMOST_DATA_ENUM_TYPE proc, INMOST_DATA_ENUM_TYPE &mbeg, INMOST_DATA_ENUM_TYPE &mend) const |
void | GetLocalRegion (INMOST_DATA_ENUM_TYPE proc, INMOST_DATA_ENUM_TYPE &mbeg, INMOST_DATA_ENUM_TYPE &mend) const |
Get the local index region for the specified process. More... | |
void | GetVectorRegion (INMOST_DATA_ENUM_TYPE &mbeg, INMOST_DATA_ENUM_TYPE &mend) const |
Get the local index region for the current process. More... | |
INMOST_DATA_ENUM_TYPE | GetRank () const |
Get the rank of the current communicator, i.e. the current process index. More... | |
INMOST_DATA_ENUM_TYPE | GetSize () const |
Get the size of the current communicator, i.e. the total number of processes used. More... | |
void | Update (Sparse::Vector &x) |
Update the shared data in parallel vector. More... | |
void | Accumulate (Sparse::Vector &x) |
Sum shared values in parallel vector. More... | |
void | Integrate (INMOST_DATA_REAL_TYPE *inout, INMOST_DATA_ENUM_TYPE num) const |
Get the sum of num elements of real array on all processes. More... | |
INMOST_MPI_Comm | GetComm () const |
Get the communicator which the solver is associated with. More... | |
INMOST_MPI_Request * | GetSendRequests () |
INMOST_MPI_Request * | GetRecvRequests () |
INMOST_DATA_ENUM_TYPE | GetSendRequestsSize () |
INMOST_DATA_ENUM_TYPE | GetRecvRequestsSize () |
INMOST_DATA_ENUM_TYPE * | GetSendExchangeArray () |
INMOST_DATA_ENUM_TYPE | GetSendExchangeSize () |
INMOST_DATA_ENUM_TYPE * | GetRecvExchangeArray () |
INMOST_DATA_ENUM_TYPE | GetRecvExchangeSize () |
Base class for low level operations with objects of Solver class.
Definition at line 67 of file inmost_solver.h.
INMOST::Solver::OrderInfo::OrderInfo | ( | ) |
INMOST::Solver::OrderInfo::OrderInfo | ( | const OrderInfo & | other | ) |
INMOST::Solver::OrderInfo::~OrderInfo | ( | ) |
void INMOST::Solver::OrderInfo::Accumulate | ( | Sparse::Vector & | x | ) |
Sum shared values in parallel vector.
void INMOST::Solver::OrderInfo::Clear | ( | ) |
|
inline |
Get the communicator which the solver is associated with.
Definition at line 124 of file inmost_solver.h.
void INMOST::Solver::OrderInfo::GetLocalRegion | ( | INMOST_DATA_ENUM_TYPE | proc, |
INMOST_DATA_ENUM_TYPE & | mbeg, | ||
INMOST_DATA_ENUM_TYPE & | mend | ||
) | const |
Get the local index region for the specified process.
void INMOST::Solver::OrderInfo::GetOverlapRegion | ( | INMOST_DATA_ENUM_TYPE | proc, |
INMOST_DATA_ENUM_TYPE & | mbeg, | ||
INMOST_DATA_ENUM_TYPE & | mend | ||
) | const |
INMOST_DATA_ENUM_TYPE INMOST::Solver::OrderInfo::GetProcessor | ( | INMOST_DATA_ENUM_TYPE | gind | ) | const |
Retrieve the processor number by binary search for the specified global index.
|
inline |
Get the rank of the current communicator, i.e. the current process index.
Definition at line 114 of file inmost_solver.h.
|
inline |
Definition at line 132 of file inmost_solver.h.
|
inline |
Definition at line 133 of file inmost_solver.h.
|
inline |
Definition at line 127 of file inmost_solver.h.
|
inline |
Definition at line 129 of file inmost_solver.h.
|
inline |
Definition at line 130 of file inmost_solver.h.
|
inline |
Definition at line 131 of file inmost_solver.h.
|
inline |
Definition at line 126 of file inmost_solver.h.
|
inline |
Definition at line 128 of file inmost_solver.h.
|
inline |
Get the size of the current communicator, i.e. the total number of processes used.
Definition at line 116 of file inmost_solver.h.
|
inline |
Get the local index region for the current process.
Definition at line 112 of file inmost_solver.h.
|
inline |
Return true if Matrix data have already been specified.
Definition at line 89 of file inmost_solver.h.
void INMOST::Solver::OrderInfo::Integrate | ( | INMOST_DATA_REAL_TYPE * | inout, |
INMOST_DATA_ENUM_TYPE | num | ||
) | const |
Get the sum of num elements of real array on all processes.
void INMOST::Solver::OrderInfo::PrepareMatrix | ( | Sparse::Matrix & | m, |
INMOST_DATA_ENUM_TYPE | overlap | ||
) |
void INMOST::Solver::OrderInfo::PrepareVector | ( | Sparse::Vector & | v | ) | const |
Prepare parallel state of the Vector.
void INMOST::Solver::OrderInfo::RestoreMatrix | ( | Sparse::Matrix & | m | ) |
Restore initial nonparallel state of the Matrix with no overlap.
void INMOST::Solver::OrderInfo::RestoreVector | ( | Sparse::Vector & | v | ) | const |
Restore initial nonparallel state of the Vector.
void INMOST::Solver::OrderInfo::Update | ( | Sparse::Vector & | x | ) |
Update the shared data in parallel vector.