|
ug4
|
Holds Interfaces and communicators for horizontal communication. More...
#include <algebra_layouts.h>
Inheritance diagram for ug::HorizontalAlgebraLayouts:Public Member Functions | |
| void | clear () |
| clears the struct | |
| pcl::InterfaceCommunicator< IndexLayout > & | comm () const |
| returns (non-const !!!) communicator | |
| void | enable_overlap (bool enable) |
| HorizontalAlgebraLayouts () | |
| bool | overlap_enabled () const |
| Tells whether overlap interfaces should be considered. | |
| const pcl::ProcessCommunicator & | proc_comm () const |
| returns process communicator | |
| 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 | |
| bool | m_overlapEnabled |
| IndexLayout | masterLayout |
| (horizontal) master index layout | |
| IndexLayout | masterOverlapLayout |
| pcl::ProcessCommunicator | processCommunicator |
| process communicator | |
| IndexLayout | slaveLayout |
| (horizontal) slave index layout | |
| 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::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::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::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 |
|
protected |
Referenced by enable_overlap(), and overlap_enabled().
|
protected |
|
protected |
Referenced by master_overlap(), and master_overlap().
|
protected |
process communicator
Referenced by proc_comm(), and proc_comm().
|
protected |
|
protected |
Referenced by slave_overlap(), and slave_overlap().