#include <TreeComm.hpp>
|
| TreeComm ()=default |
|
virtual | ~TreeComm ()=default |
|
virtual int | num_level_controlled (void) const =0 |
| Returns the number of tree levels controlled by the Controller on this node. This determines which levels can be used for send_down() and receive_up(). More...
|
|
virtual int | max_level (void) const =0 |
| Returns the number of tree levels participated in by the Controller on this node. This determines which levels can be used for sending or receiving, including with the parent. More...
|
|
virtual int | root_level (void) const =0 |
| Returns the level of the root of the tree, which is equal to the number of levels in the tree. More...
|
|
virtual int | level_rank (int level) const =0 |
| Returns the rank of the given level. More...
|
|
virtual int | level_size (int level) const =0 |
| Returns the number of children for each parent in the given level. More...
|
|
virtual void | send_up (int level, const std::vector< double > &sample)=0 |
| Send samples up to the parent within a level. More...
|
|
virtual void | send_down (int level, const std::vector< std::vector< double > > &policy)=0 |
| Send policies down to children within a level. More...
|
|
virtual bool | receive_up (int level, std::vector< std::vector< double > > &sample)=0 |
| Receive samples from children within a level. More...
|
|
virtual bool | receive_down (int level, std::vector< double > &policy)=0 |
| Receive policies from the parent within a level. More...
|
|
virtual size_t | overhead_send (void) const =0 |
| Returns the total number of bytes sent from the entire tree. More...
|
|
|
static std::vector< int > | fan_out (const std::shared_ptr< Comm > &comm) |
| Returns the number of children at each level. More...
|
|
◆ TreeComm()
geopm::TreeComm::TreeComm |
( |
| ) |
|
|
default |
◆ ~TreeComm()
virtual geopm::TreeComm::~TreeComm |
( |
| ) |
|
|
virtualdefault |
◆ fan_out()
std::vector< int > geopm::TreeComm::fan_out |
( |
const std::shared_ptr< Comm > & |
comm | ) |
|
|
static |
Returns the number of children at each level.
◆ level_rank()
virtual int geopm::TreeComm::level_rank |
( |
int |
level | ) |
const |
|
pure virtual |
◆ level_size()
virtual int geopm::TreeComm::level_size |
( |
int |
level | ) |
const |
|
pure virtual |
Returns the number of children for each parent in the given level.
Implemented in geopm::TreeCommImp.
◆ max_level()
virtual int geopm::TreeComm::max_level |
( |
void |
| ) |
const |
|
pure virtual |
Returns the number of tree levels participated in by the Controller on this node. This determines which levels can be used for sending or receiving, including with the parent.
Implemented in geopm::TreeCommImp.
◆ num_level_controlled()
virtual int geopm::TreeComm::num_level_controlled |
( |
void |
| ) |
const |
|
pure virtual |
◆ overhead_send()
virtual size_t geopm::TreeComm::overhead_send |
( |
void |
| ) |
const |
|
pure virtual |
Returns the total number of bytes sent from the entire tree.
Implemented in geopm::TreeCommImp.
◆ receive_down()
virtual bool geopm::TreeComm::receive_down |
( |
int |
level, |
|
|
std::vector< double > & |
policy |
|
) |
| |
|
pure virtual |
◆ receive_up()
virtual bool geopm::TreeComm::receive_up |
( |
int |
level, |
|
|
std::vector< std::vector< double > > & |
sample |
|
) |
| |
|
pure virtual |
Receive samples from children within a level.
- Returns
- True if all of the children have only non-NaN data
Implemented in geopm::TreeCommImp.
◆ root_level()
virtual int geopm::TreeComm::root_level |
( |
void |
| ) |
const |
|
pure virtual |
Returns the level of the root of the tree, which is equal to the number of levels in the tree.
Implemented in geopm::TreeCommImp.
◆ send_down()
virtual void geopm::TreeComm::send_down |
( |
int |
level, |
|
|
const std::vector< std::vector< double > > & |
policy |
|
) |
| |
|
pure virtual |
◆ send_up()
virtual void geopm::TreeComm::send_up |
( |
int |
level, |
|
|
const std::vector< double > & |
sample |
|
) |
| |
|
pure virtual |
The documentation for this class was generated from the following files: