35 #ifndef CONSISTENCY_CHECK_H
36 #define CONSISTENCY_CHECK_H
54 template<
typename TVec,
typename TValue>
59 const TValue &
send(
int pid,
int index)
const
68 template<
typename TVec>
73 bool send(
int pid,
int index)
const
81 template<
typename TVec,
typename TValue>
94 void receive(
int pid,
int index, TValue &v)
99 {
UG_LOG(
"\n\n----------------------\n" <<
name <<
" not consistent:\n");
bOK =
false; }
101 "), but " << v <<
" on master (proc " << pid <<
").\n");
131 template<
typename TVec>
143 template<
typename TVec>
location name
Definition: checkpoint_util.lua:128
Performs communication between interfaces on different processes.
Definition: pcl_interface_communicator.h:68
Definition: pcl_process_communicator.h:70
CRTP Base class for communications on layout/interfaces.
Definition: communication_scheme.h:105
Definition: consistency_check.h:85
ConsistencyCheckClass(const TVec &_vec, std::string _name="")
Definition: consistency_check.h:88
void receive(int pid, int index, TValue &v)
Definition: consistency_check.h:94
int get_element_size()
Definition: consistency_check.h:110
bool bOK
Definition: consistency_check.h:116
std::string name
Definition: consistency_check.h:118
bool isOK()
Definition: consistency_check.h:105
const TVec & vec
Definition: consistency_check.h:78
bool send(int pid, int index) const
Definition: consistency_check.h:73
ConsistencyCheckClassSend(const TVec &_vec)
Definition: consistency_check.h:72
Definition: consistency_check.h:56
const TValue & send(int pid, int index) const
Definition: consistency_check.h:59
ConsistencyCheckClassSend(const TVec &_vec)
Definition: consistency_check.h:58
const TVec & vec
Definition: consistency_check.h:64
Holds Interfaces and communicators for horizontal communication.
Definition: algebra_layouts.h:48
const pcl::ProcessCommunicator & proc_comm() const
returns process communicator
Definition: algebra_layouts.h:68
const IndexLayout & slave() const
Definition: algebra_layouts.h:63
const IndexLayout & master() const
Definition: algebra_layouts.h:61
pcl::InterfaceCommunicator< IndexLayout > & comm() const
returns (non-const !!!) communicator
Definition: algebra_layouts.h:78
void ConsistencyCheck(const TVec &vec, pcl::InterfaceCommunicator< IndexLayout > &com, const pcl::ProcessCommunicator &pc, const IndexLayout &masterLayout, const IndexLayout &slaveLayout, std::string name="")
receives data over a interface based on a CommunicationScheme on a subgroup of processes
Definition: consistency_check.h:132
void CommunicateOnInterfaces(pcl::InterfaceCommunicator< IndexLayout > &communicator, const IndexLayout &sendingLayout, const IndexLayout &receivingLayout, TCommunicationScheme &scheme)
sends data over a CommunicationScheme from a sendingLayout to a receivingLayout
Definition: communication_scheme.h:292
int ProcRank()
returns the rank of the process
Definition: pcl_base.cpp:83
bool AllProcsTrue(bool bFlag, ProcessCommunicator comm)
Definition: pcl_util.cpp:54
#define UG_LOG(msg)
Definition: log.h:367
#define UG_COND_THROW(cond, msg)
UG_COND_THROW(cond, msg) : performs a UG_THROW(msg) if cond == true.
Definition: error.h:61
#define PROFILE_FUNC_GROUP(groups)
Definition: profiler.h:258
Definition: communication_policies.h:58