ug4
|
Holds Interfaces and communicators for horizontal communication. More...
#include <algebra_layouts.h>
Public Member Functions | |
void | clear () |
clears the struct More... | |
pcl::InterfaceCommunicator< IndexLayout > & | comm () const |
returns (non-const !!!) communicator More... | |
void | enable_overlap (bool enable) |
HorizontalAlgebraLayouts () | |
bool | overlap_enabled () const |
Tells whether overlap interfaces should be considered. More... | |
const pcl::ProcessCommunicator & | proc_comm () const |
returns process communicator More... | |
const IndexLayout & | master () const |
const IndexLayout & | master_overlap () const |
const IndexLayout & | slave () const |
const IndexLayout & | slave_overlap () const |
IndexLayout & | master () |
IndexLayout & | master_overlap () |
IndexLayout & | slave () |
IndexLayout & | slave_overlap () |
pcl::InterfaceCommunicator< IndexLayout > & | comm () |
pcl::ProcessCommunicator & | proc_comm () |
Protected Attributes | |
pcl::InterfaceCommunicator< IndexLayout > | communicator |
communicator More... | |
bool | m_overlapEnabled |
IndexLayout | masterLayout |
(horizontal) master index layout More... | |
IndexLayout | masterOverlapLayout |
pcl::ProcessCommunicator | processCommunicator |
process communicator More... | |
IndexLayout | slaveLayout |
(horizontal) slave index layout More... | |
IndexLayout | slaveOverlapLayout |
Holds Interfaces and communicators for horizontal communication.
The internal ProcessCommunicator is initialized as PCD_WORLD.
|
inline |
|
inline |
clears the struct
References pcl::SingleLevelLayout< TInterface >::clear(), masterLayout, and slaveLayout.
Referenced by ug::AlgebraLayouts::clear().
|
inline |
returns communicator
References communicator.
|
inline |
returns (non-const !!!) communicator
We return a non-const communicator, since it can only be used non-const. This is requirement of the InterfaceCommunicator design, since internally buffers are used during communication. Theoretically, a communicator could be created each time for communication, but for performance reasons we provide this one that can be shared and reused.
References communicator.
Referenced by ug::BroadcastVectorFromOne(), ug::ConsistencyCheck(), ug::GatherVectorOnOne(), ug::GenerateGlobalConsecutiveIndices(), ug::OverlapWriter< TAlgebra >::init(), ug::AgglomeratingBase< TBase, TAlgebra >::init_mat(), ug::PrintLayouts(), and ug::TestHorizontalAlgebraLayouts().
|
inline |
It is important to enable or disable overlap on all involved processes at the same time. Otherwise communication issues may arise.
References m_overlapEnabled.
|
inline |
returns the horizontal slave/master index layout
References masterLayout.
|
inline |
returns the horizontal slave/master index layout
References masterLayout.
Referenced by ug::BroadcastVectorFromOne(), ug::CommunicateFromMasterToSlave(), ug::CommunicateFromSlaveToMaster(), ug::ConsistencyCheck(), ug::GatherVectorOnOne(), ug::GenerateGlobalConsecutiveIndices(), ug::AgglomeratingBase< TBase, TAlgebra >::init_mat(), ug::operator<<(), ug::PrintLayouts(), and ug::TestHorizontalAlgebraLayouts().
|
inline |
returns the horizontal slave/master index layout
References masterOverlapLayout.
|
inline |
returns the horizontal slave/master index layout
References masterOverlapLayout.
Referenced by ug::OverlapWriter< TAlgebra >::init(), and ug::TestHorizontalAlgebraLayouts().
|
inline |
Tells whether overlap interfaces should be considered.
References m_overlapEnabled.
|
inline |
returns communicator
References processCommunicator.
|
inline |
returns process communicator
References processCommunicator.
Referenced by ug::CommunicateFromMasterToSlave(), ug::CommunicateFromSlaveToMaster(), ug::ConsistencyCheck(), ug::GenerateGlobalConsecutiveIndices(), ug::AgglomeratingBase< TBase, TAlgebra >::init_mat(), ug::operator<<(), ug::PrintLayouts(), and ug::TestHorizontalAlgebraLayouts().
|
inline |
returns the horizontal slave/master index layout
References slaveLayout.
|
inline |
returns the horizontal slave/master index layout
References slaveLayout.
Referenced by ug::BroadcastVectorFromOne(), ug::CommunicateFromMasterToSlave(), ug::CommunicateFromSlaveToMaster(), ug::ConsistencyCheck(), ug::GatherVectorOnOne(), ug::GenerateGlobalConsecutiveIndices(), ug::AgglomeratingBase< TBase, TAlgebra >::init_mat(), ug::operator<<(), ug::PrintLayouts(), and ug::TestHorizontalAlgebraLayouts().
|
inline |
returns the horizontal slave/master index layout
References slaveOverlapLayout.
|
inline |
returns the horizontal slave/master index layout
References slaveOverlapLayout.
Referenced by ug::OverlapWriter< TAlgebra >::init(), and ug::TestHorizontalAlgebraLayouts().
|
protected |
communicator
Referenced by comm().
|
protected |
Referenced by enable_overlap(), and overlap_enabled().
|
protected |
|
protected |
Referenced by master_overlap().
|
protected |
process communicator
Referenced by proc_comm().
|
protected |
|
protected |
Referenced by slave_overlap().