Applies WF::operator() to a pointer to the graph on the target location and an Elem.
More...
|
| aggregator_apply (Cont *pc, size_t max_msg_sz=16384) |
|
void | flush (void) |
|
void | flush (size_t i) |
|
void | local_flush (void) |
|
size_t | target_location (Elem const &x) const |
| Returns the ID of the location where the specified element is stored. More...
|
|
void | add (Elem const &x) |
| Adds an element to the aggregator. More...
|
|
void | add (Elem const &x, size_t loc) |
| Adds an element to the aggregator, when the target location is given. More...
|
|
Cont * | container (void) |
|
void | manual_destruct (void) |
| Flush all queues that are not empty.
|
|
|
std::vector< std::vector< Elem > > | m_send_queue |
| Container for storing requests to each location.
|
|
std::vector< size_t > | m_loc_ids |
| Container storing a random shuffling for all location-ids. Shuffling the location-ids provides better performance by easing network traffic.
|
|
Cont * | m_pc |
| Pointer to the container where requests will be executed.
|
|
size_t | m_max_msg_aggregate_sz |
| Maximum number of requests that will be aggregated.
|
|
size_t | m_loc_id |
| The ID of this location.
|
|
template<typename Elem, typename Cont, typename Wf = aggr_algo_detail::vertex_apply_wf>
struct stapl::aggregator_apply< Elem, Cont, Wf >
Applies WF::operator() to a pointer to the graph on the target location and an Elem.
- Template Parameters
-
Elem | The type of the user-requests being aggregated. |
Cont | The type of the container (graphs). |
WF | The type of the functor to execute on (graphs). |
◆ target_location()
Returns the ID of the location where the specified element is stored.
Derived classes may chose to overwrite this method to provide a suitable method to find what the element is. By default, the element GID is provided by the .target() method.
◆ add() [1/2]
Adds an element to the aggregator.
This will trigger a flush if the queue for the target location has exceeded the maximum message size.
◆ add() [2/2]
Adds an element to the aggregator, when the target location is given.
This will trigger a flush if the queue for the target location has exceeded the maximum message size.
- Parameters
-
x | The element to send. |
loc | The location to send the element to. |
The documentation for this struct was generated from the following file:
- containers/graph/algorithms/aggregator.hpp