|
ESyS-Particle
2.3.4
|
abstract base class for communicator More...
#include <comm.h>

Public Member Functions | |
| bool | isNull () const |
| int | rank () const |
| int | size () |
| MPI_Comm | comm () const |
| TML_Comm & | operator= (const TML_Comm &) |
| void | setComm (MPI_Comm) |
| TML_Comm () | |
| TML_Comm (MPI_Comm) | |
| TML_Comm | include (const vector< int > &) |
| TML_Comm | exclude (const vector< int > &) |
| template<typename T > | |
| void | send (T, int, int=0) |
| template<typename T > | |
| void | receive (T &, int, int=MPI_ANY_TAG) |
| template<typename T > | |
| void | send_array (T *, int, int, int=0) |
| template<typename T > | |
| void | receive_array (T *, int, int, int=MPI_ANY_TAG) |
| template<typename T > | |
| void | send_cont (const T &, int, int=0) |
| template<typename T > | |
| void | receive_cont (T &, int, int=MPI_ANY_TAG) |
| template<typename T > | |
| void | send_cont_packed (T, int, bool, int=0) |
| template<typename T > | |
| void | receive_cont_packed (T &, int, bool, int=MPI_ANY_TAG) |
| template<typename T , typename P > | |
| void | sendrecv (T, P &, int, int, int=0) |
| template<typename T , typename P > | |
| void | sendrecv_array (T *, int, P *, int, int, int, int=0) |
| template<typename T , typename P > | |
| void | sendrecv_cont (T, P &, int, int, int=0) |
| template<typename T > | |
| void | sendrecv_cont_replace (T &, int, int, int=0) |
| template<typename T , typename P > | |
| void | sendrecv_cont_packed (T, P &, int, int, bool, int=0) |
| template<typename T > | |
| void | sendrecv_cont_packed_replace (T &, int, int, bool, int=0) |
| template<typename T > | |
| void | broadcast (T) |
| template<typename T > | |
| void | broadcast_array (T *, int) |
| template<typename T > | |
| void | broadcast_cont (const T &) |
| template<typename T > | |
| void | broadcast_cont_packed (const T &) |
| template<typename T > | |
| void | recv_broadcast (T &, int) |
| template<typename T > | |
| void | recv_broadcast_array (T *, int, int) |
| template<typename T > | |
| void | recv_broadcast_cont (T &, int) |
| template<typename T > | |
| void | recv_broadcast_cont_packed (T &, int) |
| template<typename T > | |
| void | scatter (const multimap< int, T >) |
| template<typename T > | |
| void | recv_scatter (T &, int) |
| template<typename T > | |
| void | gather (multimap< int, T > &) |
| template<typename T > | |
| void | send_gather (T &, int) |
| template<typename T > | |
| void | gather_debug (multimap< int, T > &) |
| template<typename T > | |
| void | send_gather_debug (T &, int) |
| template<typename T > | |
| void | scatter_packed (const multimap< int, T >) |
| template<typename T > | |
| void | recv_scatter_packed (T &, int) |
| template<typename T > | |
| void | gather_packed (multimap< int, T > &) |
| template<typename T > | |
| void | send_gather_packed (const T &, int) |
| template<typename T > | |
| T | sum_all (const T &) |
| void | barrier () |
| void | barrier (const string &) |
Protected Attributes | |
| MPI_Status | m_status |
| MPI_Comm | m_comm |
abstract base class for communicator
| TML_Comm::TML_Comm | ( | ) |
Default constructor for TML_comm. Sets the MPI communicator to MPI_COMM_NULL;
References m_comm.
| TML_Comm::TML_Comm | ( | MPI_Comm | comm | ) |
| void TML_Comm::barrier | ( | ) |
Wait on a barrier. Wrapper for MPI_Barrier.
References m_comm.
Referenced by CLatticeMaster::addVectorWallField(), CLatticeMaster::do2dCalculations(), CSubLatticeControler::initMPI(), CLatticeMaster::makeLattice(), CSubLatticeControler::run(), CLatticeMaster::saveTimingDataToFile(), CLatticeMaster::setSpatialDomain(), CLatticeMaster::setupWorkers(), and VectorWallFieldMaster::VectorWallFieldMaster().

| void TML_Comm::barrier | ( | const string & | msg | ) |
Wait on a barrier with debug message
References console, Console::Debug(), m_comm, and rank().

| void TML_Comm::broadcast | ( | T | data | ) |
broadcast single data to all other nodes
| data | the data to be broadcast |
References GetType, m_comm, and rank().
Referenced by broadcast_cont(), broadcast_cont_packed(), ScalarInteractionFieldMaster::collect(), ScalarParticleFieldMaster::collect(), VectorParticleFieldMaster::collect(), ScalarParticleDistributionMaster::collect(), ScalarTriangleFieldMaster::collect(), VectorInteractionFieldMaster::collect(), VectorTriangleFieldMaster::collect(), VectorWallFieldMaster::collect(), ScalarInteractionFieldMaster::collectFull(), ScalarParticleFieldMaster::collectFull(), ScalarTriangleFieldMaster::collectFull(), VectorInteractionFieldMaster::collectFull(), VectorTriangleFieldMaster::collectFull(), ScalarInteractionFieldMaster::collectFull2(), VectorInteractionFieldMaster::collectFull2(), ScalarInteractionFieldMaster::collectFullWithID(), VectorInteractionFieldMaster::collectFullWithID(), ScalarInteractionFieldMaster::collectFullWithPosID(), VectorInteractionFieldMaster::collectFullWithPosID(), ScalarInteractionFieldMaster::collectSum(), ScalarParticleFieldMaster::collectSum(), VectorInteractionFieldMaster::collectSum(), ScalarInteractionFieldMaster::ScalarInteractionFieldMaster(), ScalarParticleFieldMaster::ScalarParticleFieldMaster(), ScalarTriangleFieldMaster::ScalarTriangleFieldMaster(), test_broadcast(), VectorInteractionFieldMaster::VectorInteractionFieldMaster(), VectorParticleFieldMaster::VectorParticleFieldMaster(), VectorTriangleFieldMaster::VectorTriangleFieldMaster(), and VectorWallFieldMaster::VectorWallFieldMaster().


| void TML_Comm::broadcast_array | ( | T * | data, |
| int | ndata | ||
| ) |
broadcast an array of known size
| data | the array to be broadcast |
| ndata | the size of the array (nr. of elements) |
References GetType, m_comm, and rank().
Referenced by broadcast_cont(), and broadcast_cont_packed().


| void TML_Comm::broadcast_cont | ( | const T & | data | ) |
broadcast the content of a STL container of simple types. Uses 2 MPI broadcasts for size and data.
| data | the data to be broadcast |
References broadcast(), broadcast_array(), and esys::lsm::bpu::iter().
Referenced by ScalarInteractionFieldMaster::ScalarInteractionFieldMaster(), ScalarParticleFieldMaster::ScalarParticleFieldMaster(), ScalarTriangleFieldMaster::ScalarTriangleFieldMaster(), CLatticeMaster::setSpatialDomain(), test_broadcast_cont(), VectorInteractionFieldMaster::VectorInteractionFieldMaster(), VectorParticleFieldMaster::VectorParticleFieldMaster(), VectorTriangleFieldMaster::VectorTriangleFieldMaster(), and VectorWallFieldMaster::VectorWallFieldMaster().


| void TML_Comm::broadcast_cont_packed | ( | const T & | data | ) |
broadcast the content of a STL container of packable objects. Uses 2 MPI broadcasts for size and data.
| data | the data to be broadcast |
References broadcast(), broadcast_array(), TML_Packed_Message::buffer(), esys::lsm::bpu::iter(), m_comm, TML_PackedMessageInterface::pack(), and TML_Packed_Message::size().
Referenced by CLatticeMaster::createTriMesh(), CLatticeMaster::readAndDistributeMesh2D(), CLatticeMaster::setSpatialDomain(), and test_broadcast_cont_packed().


|
inline |
References m_comm.
Referenced by setComm(), test_pack(), test_pack_multi(), TML_CartComm::TML_CartComm(), and TML_Comm().

| TML_Comm TML_Comm::exclude | ( | const vector< int > & | ids | ) |
| void TML_Comm::gather | ( | multimap< int, T > & | data | ) |
Gather data from all other processes in the communicator into a multimap. The multimap-key will be set according to the rank of the process where the data came from
| data | the multimap |
References GetType, m_comm, rank(), and size().
Referenced by VectorParticleFieldMaster::collect(), VectorWallFieldMaster::collect(), ScalarInteractionFieldMaster::collectFull(), ScalarParticleFieldMaster::collectFull(), ScalarTriangleFieldMaster::collectFull(), VectorInteractionFieldMaster::collectFull(), VectorTriangleFieldMaster::collectFull(), ScalarInteractionFieldMaster::collectFull2(), VectorInteractionFieldMaster::collectFull2(), ScalarInteractionFieldMaster::collectFullWithID(), VectorInteractionFieldMaster::collectFullWithID(), ScalarInteractionFieldMaster::collectFullWithPosID(), VectorInteractionFieldMaster::collectFullWithPosID(), ScalarInteractionFieldMaster::collectSum(), ScalarParticleFieldMaster::collectSum(), VectorInteractionFieldMaster::collectSum(), CLatticeMaster::findParticleNearestTo(), CLatticeMaster::getNumParticles(), CLatticeMaster::getParticlePosn(), CLatticeMaster::getSlaveSpatialDomains(), CLatticeMaster::getSphereBodyForce(), CLatticeMaster::getSphereBodyPosn(), CLatticeMaster::getWallForce(), CLatticeMaster::getWallPosn(), CheckPointController::issueCheckPointCmdWTM(), and test_gather().


| void TML_Comm::gather_debug | ( | multimap< int, T > & | data | ) |
Gather data from all other processes in the communicator into a multimap. The multimap-key will be set according to the rank of the process where the data came from. Debug version (output data)
| data | the multimap |
References console, Console::Debug(), GetType, m_comm, rank(), and size().

| void TML_Comm::gather_packed | ( | multimap< int, T > & | data | ) |
References TML_Packed_Message::buffer(), console, Console::Debug(), GetType, m_comm, TML_Packed_Message::pop_int(), rank(), size(), and TML_PackedMessageInterface::unpack().

| TML_Comm TML_Comm::include | ( | const vector< int > & | ids | ) |
Construct a new communicator containing the processes which are given as input
| ids | the ranks of the processes which form the new communicator in the current communicator |
References console, Console::Error(), m_comm, and rank().
Referenced by test_const().


|
inline |
References m_comm.
| int TML_Comm::rank | ( | ) | const |
References m_comm.
Referenced by barrier(), broadcast(), broadcast_array(), gather(), gather_debug(), gather_packed(), TML_CartComm::get_coords(), include(), CSubLatticeControler::initMPI(), main(), scatter(), scatter_packed(), and test_const().

| void TML_Comm::receive | ( | T & | data, |
| int | source, | ||
| int | tag = MPI_ANY_TAG |
||
| ) |
receive single data
| data | the data to be received |
| source | the rank of the destination process the data comes from |
| tag | the message tag |
References GetType, m_comm, and m_status.
Referenced by receive_cont(), receive_cont_packed(), test_pair(), test_simple(), and VectorWallFieldMaster::VectorWallFieldMaster().

| void TML_Comm::receive_array | ( | T * | data, |
| int | ndata, | ||
| int | source, | ||
| int | tag = MPI_ANY_TAG |
||
| ) |
receive a C-array of data with known dimensions
| data | the data to be received |
| ndata | the number of integers to be received |
| source | the rank of the destination process the data comes from |
| tag | the message tag |
References GetType, m_comm, and m_status.
Referenced by receive_cont(), and receive_cont_packed().

| void TML_Comm::receive_cont | ( | T & | data, |
| int | source, | ||
| int | tag = MPI_ANY_TAG |
||
| ) |
Receive an STL container or anything that has iterators, begin() and end(). Single item insert (a.insert(p,t)) is used instead of range insert to be compatible with both sequence and associative containers;
| data | the data to be received |
| source | the rank of the destination process the data is coming from |
| tag | the message tag |
References receive(), and receive_array().
Referenced by test_container(), test_container_map(), and test_container_vec3().


| void TML_Comm::receive_cont_packed | ( | T & | data, |
| int | source, | ||
| bool | checked, | ||
| int | tag = MPI_ANY_TAG |
||
| ) |
Receive an STL container or anything that has iterators and insert(). Uses 2 receive operations for size and data. If the "checked" option is set, a checked message buffer is used to detect type mismatches between pack and unpack operations.
| data | the data to be received |
| source | the rank of the destination process the data is coming from |
| checked | use checked message buffer if true |
| tag | the message tag |
References TML_Packed_Message::buffer(), m_comm, TML_Packed_Message::pop_int(), receive(), receive_array(), and TML_PackedMessageInterface::unpack().
Referenced by test_container_packed(), and test_container_packed_user().


| void TML_Comm::recv_broadcast | ( | T & | data, |
| int | root | ||
| ) |
Receive broadcast of single data from a given node
| data | the data to be broadcast |
| root | the node which sent the broadcast |
References GetType, and m_comm.
Referenced by recv_broadcast_cont(), recv_broadcast_cont_packed(), ScalarTriangleFieldSlave::sendData(), VectorEdge2DFieldSlave::sendData(), VectorTriangleFieldSlave::sendData(), and test_broadcast().

| void TML_Comm::recv_broadcast_array | ( | T * | data, |
| int | ndata, | ||
| int | root | ||
| ) |
Receive broadcast of an array of known size
| data | the array to be broadcast |
| ndata | the size of the array (nr. of elements) |
| root | the node which sent the broadcast |
References GetType, and m_comm.
Referenced by recv_broadcast_cont(), and recv_broadcast_cont_packed().

| void TML_Comm::recv_broadcast_cont | ( | T & | data, |
| int | root | ||
| ) |
Receive broadcast of the content of a STL container of simple types from a given node. Uses 2 MPI broadcasts for size and data.
| data | the data to be broadcast |
| root | the node which sent the broadcast |
References recv_broadcast(), and recv_broadcast_array().
Referenced by CSubLatticeControler::getIdParticleData(), CSubLatticeControler::initLatticeCirc(), and test_broadcast_cont().


| void TML_Comm::recv_broadcast_cont_packed | ( | T & | data, |
| int | root | ||
| ) |
Receive broadcast of the content of a STL container of packable objects from a given node. Uses 2 MPI broadcasts for size and data.
| data | the data to be broadcast |
| root | the node which sent the broadcast |
References TML_Packed_Message::buffer(), m_comm, TML_Packed_Message::pop_int(), recv_broadcast(), recv_broadcast_array(), and TML_PackedMessageInterface::unpack().
Referenced by CSubLatticeControler::initLattice(), CSubLatticeControler::initLatticeCirc(), and test_broadcast_cont_packed().


| void TML_Comm::recv_scatter | ( | T & | data, |
| int | root | ||
| ) |
receive scattered data
| data | the received data |
| root | the process which scattered the data |
References GetType, m_comm, NULL, and size().
Referenced by test_scatter().


| void TML_Comm::recv_scatter_packed | ( | T & | data, |
| int | root | ||
| ) |
receive scattered packed data
| data | the received data |
| root | the process which scattered the data |
References TML_Packed_Message::begin_unpack(), TML_Packed_Message::buffer(), GetType, m_comm, NULL, TML_Packed_Message::pop_int(), and TML_PackedMessageInterface::unpack().
Referenced by test_scatter_packed().


| void TML_Comm::scatter | ( | const multimap< int, T > | data | ) |
scatter the content of a multimap. The key of the multimap is used to decide where to send the data. Uses one MPI_Scatter (sizes) and one MPI_Scatterv (data) call.
| data | the multimap containing the data to be scattered |
References GetType, esys::lsm::bpu::iter(), m_comm, rank(), and size().
Referenced by test_scatter().


| void TML_Comm::scatter_packed | ( | const multimap< int, T > | data | ) |
Scatter the content of a multimap of packable objects. The key of the multimap is used to decide where to send the data. Uses one MPI_Scatter (sizes) and one MPI_Scatterv (data) call.
| data | the multimap containing the data to be scattered |
References TML_PackedMultiMessage::buffer(), GetType, esys::lsm::bpu::iter(), m_comm, TML_PackedMultiMessage::offsets(), rank(), size(), and TML_PackedMultiMessage::sizes().
Referenced by test_scatter_packed().


| void TML_Comm::send | ( | T | data, |
| int | dest, | ||
| int | tag = 0 |
||
| ) |
send single data
| data | the data to be sent |
| dest | the rank of the destination process the data is sent to |
| tag | the message tag |
References GetType, and m_comm.
Referenced by send_cont(), send_cont_packed(), test_pair(), and test_simple().

| void TML_Comm::send_array | ( | T * | data, |
| int | ndata, | ||
| int | dest, | ||
| int | tag = 0 |
||
| ) |
send a C-array of data with known dimensions
| data | the data to be sent |
| ndata | the size of the array (nr. of elements) |
| dest | the rank of the destination process the data is sent to |
| tag | the message tag |
References GetType, and m_comm.
Referenced by send_cont(), and send_cont_packed().

| void TML_Comm::send_cont | ( | const T & | data, |
| int | dest, | ||
| int | tag = 0 |
||
| ) |
Send an STL container or anything that has iterators, begin() and end(). Uses 2 send operations for size and data.
| data | the data to be sent |
| dest | the rank of the destination process the data is sent to |
| tag | the message tag |
References esys::lsm::bpu::iter(), send(), and send_array().
Referenced by test_container(), test_container_map(), and test_container_vec3().


| void TML_Comm::send_cont_packed | ( | T | data, |
| int | dest, | ||
| bool | checked, | ||
| int | tag = 0 |
||
| ) |
Send an STL container or anything that has iterators, begin() and end(). Uses 2 send operations for size and data. If the "checked" option is set, a checked message buffer is used to detect type mismatches between pack and unpack operations. The TML_Packed_Message has to grow dynamically. It is not possible to predetermine the size of the message because while T always has a size() function, it is not guaranteed that sizeof() or size() work for the valuetype of T.
| data | the data to be sent |
| dest | the rank of the destination process the data is sent to |
| checked | use checked message buffer if true |
| tag | the message tag |
References TML_Packed_Message::buffer(), esys::lsm::bpu::iter(), m_comm, TML_PackedMessageInterface::pack(), send(), send_array(), and TML_Packed_Message::size().
Referenced by test_container_packed(), and test_container_packed_user().


| void TML_Comm::send_gather | ( | T & | data, |
| int | root | ||
| ) |
Send data to be gathered by a root process.
| data | the data (a container) |
| root | the root process |
References GetType, esys::lsm::bpu::iter(), m_comm, NULL, and size().
Referenced by CSubLatticeControler::findParticleNearestToPoint(), CSubLatticeControler::getNumParticles(), CSubLatticeControler::getParticlePosn(), CSubLatticeControler::initLattice(), CSubLatticeControler::initLatticeCirc(), CheckPointer::saveThroughMaster(), ScalarTriangleFieldSlave::SendDataFull(), VectorEdge2DFieldSlave::SendDataFull(), VectorTriangleFieldSlave::SendDataFull(), and test_gather().


| void TML_Comm::send_gather_debug | ( | T & | data, |
| int | root | ||
| ) |
Send data to be gathered by a root process. Debug version.
| data | the data (a container) |
| root | the root process |
References console, Console::Debug(), GetType, esys::lsm::bpu::iter(), m_comm, NULL, and size().

| void TML_Comm::send_gather_packed | ( | const T & | data, |
| int | root | ||
| ) |
References TML_Packed_Message::buffer(), console, Console::Debug(), GetType, esys::lsm::bpu::iter(), m_comm, NULL, TML_PackedMessageInterface::pack(), size(), and TML_Packed_Message::size().

| void TML_Comm::sendrecv | ( | T | send_data, |
| P & | recv_data, | ||
| int | dest, | ||
| int | source, | ||
| int | tag = 0 |
||
| ) |
send and receive single data
| send_data | the data to be sent |
| recv_data | the data to be received |
| dest | the rank of the destination process the data is sent to |
| source | the rank of the destination process the data comes from |
| tag | the message tag |
References GetType, m_comm, and m_status.
Referenced by sendrecv_cont(), sendrecv_cont_packed(), sendrecv_cont_packed_replace(), sendrecv_cont_replace(), TML_CartComm::shift(), TML_CartComm::shift_array(), and test_simple_sendrecv().

| void TML_Comm::sendrecv_array | ( | T * | send_data, |
| int | send_count, | ||
| P * | recv_data, | ||
| int | recv_count, | ||
| int | dest, | ||
| int | source, | ||
| int | tag = 0 |
||
| ) |
send and receive a C-array of data with known dimensions
| send_data | the data to be sent |
| send_count | the number of integers to be sent |
| recv_data | the data to be received |
| recv_count | the number of integers to be received |
| dest | the rank of the destination process the data is sent to |
| source | the rank of the destination process the data comes from |
| tag | the message tag |
References GetType, m_comm, and m_status.
Referenced by sendrecv_cont(), sendrecv_cont_packed(), sendrecv_cont_packed_replace(), and sendrecv_cont_replace().

| void TML_Comm::sendrecv_cont | ( | T | send_data, |
| P & | recv_data, | ||
| int | dest, | ||
| int | source, | ||
| int | tag = 0 |
||
| ) |
send and receive an STL container or anything that has iterators, begin() and end(). Uses 2 MPI_Sendrecv operations for size and data
| send_data | the data to be sent |
| recv_data | the data to be received |
| dest | the rank of the destination process the data is sent to |
| source | the rank of the destination process the data comes from |
| tag | the message tag |
References esys::lsm::bpu::iter(), sendrecv(), and sendrecv_array().
Referenced by TML_CartComm::shift_cont(), and test_container_sendrecv().


| void TML_Comm::sendrecv_cont_packed | ( | T | send_data, |
| P & | recv_data, | ||
| int | dest, | ||
| int | source, | ||
| bool | checked, | ||
| int | tag = 0 |
||
| ) |
send and receive an STL container or anything that has iterators, begin() and end() and insert(). Uses 2 MPI_Sendrecv operations for size and data. If the "checked" option is set, a checked message buffer is used to detect type mismatches between pack and unpack operations.
| send_data | the data to be sent |
| recv_data | the data to be received |
| dest | the rank of the destination process the data is sent to |
| source | the rank of the destination process the data comes from |
| tag | the message tag |
References TML_Packed_Message::buffer(), esys::lsm::bpu::iter(), m_comm, TML_PackedMessageInterface::pack(), TML_Packed_Message::pop_int(), sendrecv(), sendrecv_array(), TML_Packed_Message::size(), and TML_PackedMessageInterface::unpack().
Referenced by TML_CartComm::shift_cont_packed(), and test_container_sendrecv_packed().


| void TML_Comm::sendrecv_cont_packed_replace | ( | T & | data, |
| int | dest, | ||
| int | source, | ||
| bool | checked, | ||
| int | tag = 0 |
||
| ) |
send and receive an STL container or anything that has iterators, begin() and end() and insert(). In input data is replaced by the received data. Uses 2 MPI_Sendrecv operations for size and data. If the "checked" option is set, a checked message buffer is used to detect type mismatches between pack and unpack operations.
| data | the data to be sent and received |
| dest | the rank of the destination process the data is sent to |
| source | the rank of the destination process the data comes from |
| tag | the message tag |
References TML_Packed_Message::buffer(), esys::lsm::bpu::iter(), m_comm, TML_PackedMessageInterface::pack(), TML_Packed_Message::pop_int(), sendrecv(), sendrecv_array(), TML_Packed_Message::size(), and TML_PackedMessageInterface::unpack().
Referenced by test_container_sendrecv_packed_replace().


| void TML_Comm::sendrecv_cont_replace | ( | T & | data, |
| int | dest, | ||
| int | source, | ||
| int | tag = 0 |
||
| ) |
send and receive an STL container or anything that has iterators, begin() and end(), erase() and insert(). The input data is replaced (via erase/insert) by the output data. Uses separate send/receive buffers and MPI_Sendrecv instead of a single buffer and MPI_Sendrecv_replace to accomodate different size send and received messages. Uses 2 MPI_Sendrecv operations for size and data.
| data | the data to be sent and received |
| dest | the rank of the destination process the data is sent to |
| source | the rank of the destination process the data comes from |
| tag | the message tag |
References esys::lsm::bpu::iter(), sendrecv(), and sendrecv_array().
Referenced by test_container_sendrecv_replace().


| void TML_Comm::setComm | ( | MPI_Comm | comm | ) |
set the undelying MPI communicator
| comm | the MPI communicator |
References comm(), and m_comm.
Referenced by CSubLatticeControler::initMPI(), CLatticeMaster::setupWorkers(), and TSubLattice< T >::TSubLattice().


| int TML_Comm::size | ( | ) |
References m_comm.
Referenced by cart_comm_build(), VectorWallFieldMaster::collect(), gather(), gather_debug(), gather_packed(), CSubLatticeControler::initMPI(), main(), recv_scatter(), scatter(), scatter_packed(), send_gather(), send_gather_debug(), send_gather_packed(), test_sum_all(), and TML_CartComm::TML_CartComm().

| T TML_Comm::sum_all | ( | const T & | data | ) |
References GetType, and m_comm.
Referenced by test_sum_all().

|
protected |
Referenced by barrier(), broadcast(), broadcast_array(), broadcast_cont_packed(), comm(), exclude(), gather(), gather_debug(), gather_packed(), TML_CartComm::get_coords(), include(), isNull(), operator=(), rank(), receive(), receive_array(), receive_cont_packed(), recv_broadcast(), recv_broadcast_array(), recv_broadcast_cont_packed(), recv_scatter(), recv_scatter_packed(), scatter(), scatter_packed(), send(), send_array(), send_cont_packed(), send_gather(), send_gather_debug(), send_gather_packed(), sendrecv(), sendrecv_array(), sendrecv_cont_packed(), sendrecv_cont_packed_replace(), setComm(), TML_CartComm::shift(), TML_CartComm::shift_array(), TML_CartComm::shift_array_packed(), TML_CartComm::shift_cont(), TML_CartComm::shift_cont_packed(), TML_CartComm::shift_packed(), size(), sum_all(), TML_CartComm::TML_CartComm(), TML_Comm(), and TML_CommWorld::TML_CommWorld().
|
protected |
Referenced by receive(), receive_array(), sendrecv(), and sendrecv_array().