#include <termination_detection.hpp>
Public Types | |
typedef SizeType | size_type |
typedef std::pair< size_type, size_type > | status_response_type |
Public Member Functions | |
termination_detection (MPI_Comm in_mpi_comm, int in_num_tree_children=2, int in_query_status_tag=2, int in_query_response_tag=3, int in_terminate_tag=4) | |
void | inc_queued (size_t _i=1) |
void | inc_completed (size_t _i=1) |
bool | test_for_termination () |
Private Types | |
enum | termination_detection_state_type { WAITING_INIT, WAITING_ISEND_CHILDREN, WAITING_RECV_CHILDREN, WAITING_ISEND_PARENT } |
Private Member Functions | |
bool | test_for_termination_internal (const size_type &in_queued, const size_type &in_completed) |
bool | handle_waiting_init (const size_type &in_queued, const size_type &in_completed) |
bool | handle_waiting_isend_children (const size_type &in_queued, const size_type &in_completed) |
bool | handle_waiting_recv_children (const size_type &in_queued, const size_type &in_completed) |
bool | handle_waiting_isend_parent (const size_type &in_queued, const size_type &in_completed) |
void | send_terminate_to_children () |
bool | mpi_test (MPI_Request &in_req) |
void | isend_status_response_to_parent () |
bool | mpi_iprobe (int in_source, int in_tag) |
void | send_query_status_to_children () |
int | parent_rank () |
int | begin_child_rank () |
bool | is_leaf_rank () |
int | num_children () |
Private Attributes | |
MPI_Comm | m_mpi_comm |
Configuration parameters. More... | |
int | m_num_tree_children |
int | m_query_status_tag |
int | m_query_response_tag |
int | m_terminate_tag |
int | m_mpi_size |
int | m_mpi_rank |
termination_detection_state_type | m_current_state |
std::vector< MPI_Request > | m_vec_req_isend_children |
MPI_Request | m_req_isend_parent |
status_response_type * | m_ptr_buf_isend_parent |
int | m_num_waiting_recv_children |
status_response_type | m_subtree_status_response |
status_response_type | m_previous_subtree_status_response |
size_type | m_count_queued |
size_type | m_count_completed |
Definition at line 97 of file termination_detection.hpp.
typedef SizeType havoqgt::mpi::termination_detection< SizeType >::size_type |
Definition at line 102 of file termination_detection.hpp.
typedef std::pair<size_type, size_type> havoqgt::mpi::termination_detection< SizeType >::status_response_type |
Definition at line 103 of file termination_detection.hpp.
|
private |
Enumerator | |
---|---|
WAITING_INIT | |
WAITING_ISEND_CHILDREN | |
WAITING_RECV_CHILDREN | |
WAITING_ISEND_PARENT |
Definition at line 99 of file termination_detection.hpp.
|
inline |
Definition at line 105 of file termination_detection.hpp.
|
inlineprivate |
Definition at line 303 of file termination_detection.hpp.
|
inlineprivate |
Definition at line 163 of file termination_detection.hpp.
|
inlineprivate |
Definition at line 189 of file termination_detection.hpp.
|
inlineprivate |
Definition at line 250 of file termination_detection.hpp.
|
inlineprivate |
Definition at line 203 of file termination_detection.hpp.
|
inline |
Definition at line 141 of file termination_detection.hpp.
|
inline |
Definition at line 140 of file termination_detection.hpp.
|
inlineprivate |
Definition at line 304 of file termination_detection.hpp.
|
inlineprivate |
Definition at line 275 of file termination_detection.hpp.
|
inlineprivate |
Definition at line 282 of file termination_detection.hpp.
|
inlineprivate |
Definition at line 268 of file termination_detection.hpp.
|
inlineprivate |
Definition at line 305 of file termination_detection.hpp.
|
inlineprivate |
Definition at line 302 of file termination_detection.hpp.
|
inlineprivate |
Definition at line 290 of file termination_detection.hpp.
|
inlineprivate |
Definition at line 259 of file termination_detection.hpp.
|
inline |
Definition at line 143 of file termination_detection.hpp.
|
inlineprivate |
Definition at line 148 of file termination_detection.hpp.
|
private |
Definition at line 333 of file termination_detection.hpp.
|
private |
Definition at line 332 of file termination_detection.hpp.
|
private |
Definition at line 322 of file termination_detection.hpp.
|
private |
Configuration parameters.
Definition at line 313 of file termination_detection.hpp.
|
private |
Definition at line 320 of file termination_detection.hpp.
|
private |
Definition at line 319 of file termination_detection.hpp.
|
private |
Definition at line 314 of file termination_detection.hpp.
|
private |
Definition at line 328 of file termination_detection.hpp.
|
private |
Definition at line 330 of file termination_detection.hpp.
|
private |
Definition at line 327 of file termination_detection.hpp.
|
private |
Definition at line 316 of file termination_detection.hpp.
|
private |
Definition at line 315 of file termination_detection.hpp.
|
private |
Definition at line 326 of file termination_detection.hpp.
|
private |
Definition at line 329 of file termination_detection.hpp.
|
private |
Definition at line 317 of file termination_detection.hpp.
|
private |
Definition at line 324 of file termination_detection.hpp.