vt
1.5.0
(Virtual Transport)
|
Go to the documentation of this file.
44 #if !defined INCLUDED_VT_GROUP_COLLECTIVE_GROUP_INFO_COLLECTIVE_H
45 #define INCLUDED_VT_GROUP_COLLECTIVE_GROUP_INFO_COLLECTIVE_H
61 namespace vt {
namespace group {
70 explicit InfoColl(
bool const in_is_in_group, MPI_Comm default_comm,
bool make_mpi_group)
132 std::vector<GroupCollMsgPtrType>
msgs_ = {};
static void downFinishedHan(GroupOnlyMsg *msg)
Definition: group_info_collective.cc:782
int32_t WaitCountType
Definition: group_info_base.h:58
static void finalizeHan(GroupOnlyMsg *msg)
Definition: group_info_collective.cc:786
void atRoot()
Definition: group_info_collective.cc:234
WaitCountType coll_wait_count_
Definition: group_info_collective.h:131
static void tree(GroupOnlyMsg *msg)
Definition: group_info_collective.cc:602
Definition: group_info_base.h:57
void collectiveFn(MsgSharedPtr< GroupCollectiveMsg > msg)
Definition: group_info_collective.cc:560
MPI_Comm default_comm_
Definition: group_info_collective.h:158
void readyAction(ActionType const action)
Definition: group_info_collective.cc:808
NodeType known_root_node_
Definition: group_info_collective.h:138
void newRoot(GroupCollectiveMsg *msg)
Definition: group_info_collective.cc:529
std::function< void()> ActionType
Used for generically store an action to perform.
Definition: types_type.h:125
Definition: debug_config.h:76
MPI_Comm getComm() const
Definition: group_info_collective.cc:99
InfoColl(bool const in_is_in_group, MPI_Comm default_comm, bool make_mpi_group)
Definition: group_info_collective.h:70
void operator()(FinishedReduceMsg *msg)
Definition: group_collective_finished.cc:53
uint32_t extra_count_
Definition: group_info_collective.h:134
static void downHan(GroupCollectiveMsg *msg)
Definition: group_info_collective.cc:774
bool is_empty_group_
Definition: group_info_collective.h:142
bool is_in_group
Definition: group_info_collective.h:127
std::list< ActionType > pending_ready_actions_
Definition: group_info_collective.h:154
uint32_t send_down_finished_
Definition: group_info_collective.h:137
bool isGroupDefault() const
Definition: group_info_collective.cc:556
NodeType getRoot() const
Definition: group_info_collective.cc:542
RemoteOperationIDType makeCollectiveContinuation(GroupType const group_)
Definition: group_info_collective.cc:515
static void newRootHan(GroupCollectiveMsg *msg)
Definition: group_info_collective.cc:778
PhysicalResourceType NodeType
Used to hold the current node/rank or the number of nodes.
Definition: types_type.h:57
void setupCollective()
Definition: group_info_collective.cc:112
TreeType * getTree() const
Definition: group_info_collective.cc:816
MPI_Comm mpi_group_comm_
Definition: group_info_collective.h:159
void freeComm()
Definition: group_info_collective.cc:103
RemoteOperationIDType up_tree_cont_
Definition: group_info_collective.h:148
void finalizeTree(GroupOnlyMsg *msg)
Definition: group_info_collective.cc:755
std::vector< GroupCollMsgPtrType > msgs_
Definition: group_info_collective.h:132
Definition: group_collective_msg.h:57
Definition: smart_ptr.h:99
void upTree()
Definition: group_info_collective.cc:244
bool is_default_group_
Definition: group_info_collective.h:141
void setupCollectiveSingular()
Definition: group_info_collective.cc:72
void downTreeFinished(GroupOnlyMsg *msg)
Definition: group_info_collective.cc:769
uint64_t GroupType
Used for hold an identifier for a group.
Definition: types_type.h:99
bool isReady() const
Definition: group_info_collective.cc:798
ReducePtrType getReduce() const
Definition: group_info_collective.cc:794
Definition: activefn.h:51
GroupCollectivePtrType collective_
Definition: group_info_collective.h:130
Definition: group_info_collective.h:63
RemoteOperationIDType new_root_cont_
Definition: group_info_collective.h:151
void downTree(GroupCollectiveMsg *msg)
Definition: group_info_collective.cc:625
bool in_phase_two_
Definition: group_info_collective.h:129
RemoteOperationIDType down_tree_fin_cont_
Definition: group_info_collective.h:147
std::size_t subtree_
Definition: group_info_collective.h:143
General interface for storing a spanning tree.
Definition: tree.h:69
Definition: group_info_collective.h:85
A specific, isolated reducer instance for a given scope that sequences reduce operations via the redu...
Definition: reduce.h:103
bool inGroup() const
Definition: group_info_collective.cc:827
static void upHan(GroupCollectiveMsg *msg)
Definition: group_info_collective.cc:609
uint32_t extra_arrived_count_
Definition: group_info_collective.h:135
Definition: group_collective_reduce_msg.h:54
size_t RemoteOperationIDType
Definition: group_common.h:56
void sendDownNewTree()
Definition: group_info_collective.cc:679
RemoteOperationIDType down_tree_cont_
Definition: group_info_collective.h:146
bool isEmptyGroup() const
Definition: group_info_collective.cc:804
Definition: group_collective.h:58
void newTree(NodeType const &parent)
Definition: group_info_collective.cc:651
bool has_root_
Definition: group_info_collective.h:140
uint32_t send_down_
Definition: group_info_collective.h:136
void finalize()
Definition: group_info_collective.cc:693
static void newTreeHan(GroupOnlyMsg *msg)
Definition: group_info_collective.cc:790
bool make_mpi_group_
Definition: group_info_collective.h:160
virtual ~InfoColl()=default
std::unique_ptr< GroupCollective > GroupCollectivePtrType
Definition: group_info_collective.h:65
uint32_t arrived_count_
Definition: group_info_collective.h:133
RemoteOperationIDType new_tree_cont_
Definition: group_info_collective.h:150
bool is_new_root_
Definition: group_info_collective.h:139
bool finished_init_
Definition: group_info_collective.h:128
RemoteOperationIDType finalize_cont_
Definition: group_info_collective.h:149