Accepts output items and sends them to the main thread. More...
#include <tpie/pipelining/parallel/base.h>
Inherits tpie::pipelining::parallel_bits::after_base.
Public Types | |
typedef T | item_type |
enum | PLOT { PLOT_SIMPLIFIED_HIDE =1, PLOT_BUFFERED =2, PLOT_PARALLEL =4 } |
Options for how to plot this node. More... | |
enum | STATE { STATE_FRESH, STATE_IN_PREPARE, STATE_AFTER_PREPARE, STATE_IN_PROPAGATE, STATE_AFTER_PROPAGATE, STATE_IN_BEGIN, STATE_AFTER_BEGIN, STATE_IN_GO, STATE_IN_END, STATE_AFTER_END } |
Used internally to check order of method calls. More... | |
typedef boost::optional < any_noncopyable & > | maybeany_t |
Public Member Functions | |
template<typename Input > | |
after (state< Input, T > &state, size_t parId) | |
virtual void | set_consumer (node *cons) override |
For internal use in order to construct the pipeline graph. More... | |
after (after &&other) | |
void | push (const T &item) |
Push to thread-local buffer; flush it when full. More... | |
virtual void | end () override |
End pipeline processing phase. More... | |
virtual void | worker_initialize () override |
Invoked by before::worker (in worker thread context). More... | |
virtual void | flush_buffer () override |
Invoked by before::push_all when all input items have been pushed. More... | |
memory_size_type | get_minimum_resource_usage (resource_type type) const |
Get the minimum amount of the resource declared by this node. More... | |
memory_size_type | get_maximum_resource_usage (resource_type type) const |
Get the maximum amount of the resource declared by this node. More... | |
double | get_resource_fraction (resource_type type) const |
Get the priority for the specific resource of this node. More... | |
memory_size_type | get_available_of_resource (resource_type type) const |
Get the amount of the specific resource assigned to this node. More... | |
void | set_minimum_resource_usage (resource_type type, memory_size_type usage) |
Called by implementers to declare minimum resource requirements. More... | |
void | set_maximum_resource_usage (resource_type type, memory_size_type usage) |
Called by implementers to declare maximum resource requirements. More... | |
void | set_resource_fraction (resource_type type, double f) |
Set the resource priority of this node. More... | |
virtual void | resource_available_changed (resource_type, memory_size_type) |
Called by the resource manager to notify the node's available amount of resource has changed. More... | |
void | _internal_set_available_of_resource (resource_type type, memory_size_type available) |
Used internally to assign the available resource to the node. More... | |
memory_size_type | get_minimum_memory () const |
Get the minimum amount of memory declared by this node. More... | |
memory_size_type | get_maximum_memory () const |
Get the maximum amount of memory declared by this node. More... | |
double | get_memory_fraction () const |
Get the memory priority of this node. More... | |
memory_size_type | get_available_memory () const |
Get the amount of memory assigned to this node. More... | |
void | set_minimum_memory (memory_size_type minimumMemory) |
Called by implementers to declare minimum memory requirements. More... | |
void | set_maximum_memory (memory_size_type maximumMemory) |
Called by implementers to declare maximum memory requirements. More... | |
void | set_memory_fraction (double f) |
Set the memory priority of this node. More... | |
virtual void | set_available_memory (memory_size_type availableMemory) |
Called by the memory manager to set the amount of memory assigned to this node. More... | |
memory_size_type | get_used_memory () const |
Get the amount of memory currently used by this node. More... | |
bits::node_map::ptr | get_node_map () const |
Get the local node map, mapping node IDs to node pointers for all the nodes reachable from this one. More... | |
node_token::id_t | get_id () const |
Get the internal node ID of this node (mainly for debugging purposes). More... | |
virtual void | prepare () |
Called before memory assignment but after depending phases have executed and ended. More... | |
virtual void | propagate () |
Propagate stream metadata. More... | |
virtual void | begin () |
Begin pipeline processing phase. More... | |
virtual bool | is_go_free () const |
virtual void | go () |
For initiator nodes, execute this phase by pushing all items to be pushed. More... | |
virtual bool | can_evacuate () |
Overridden by nodes that have data to evacuate. More... | |
virtual void | evacuate () |
Overridden by nodes that have data to evacuate. More... | |
priority_type | get_name_priority () |
Get the priority of this node's name. More... | |
const std::string & | get_name () |
Get this node's name. More... | |
void | set_name (const std::string &name, priority_type priority=PRIORITY_USER) |
Set this node's name. More... | |
priority_type | get_phase_name_priority () |
Get the priority of this node's pdane name. More... | |
const std::string & | get_phase_name () |
Get this node's phase name. More... | |
void | set_phase_name (const std::string &name, priority_type priority=PRIORITY_USER) |
Set this node's phase name. More... | |
void | set_breadcrumb (const std::string &breadcrumb) |
Used internally when a pair_factory has a name set. More... | |
stream_size_type | get_steps () |
Used internally for progress indication. More... | |
stream_size_type | get_steps_left () |
void | set_progress_indicator (progress_indicator_base *pi) |
Used internally. Set the progress indicator to use. More... | |
progress_indicator_base * | get_progress_indicator () |
Used internally. Get the progress indicator used. More... | |
STATE | get_state () const |
Used internally to check order of method calls. More... | |
void | set_state (STATE s) |
Used internally to check order of method calls. More... | |
resource_type | get_resource_being_assigned () const |
Used internally to check order of method calls. More... | |
void | set_resource_being_assigned (resource_type type) |
Used internally to check order of method calls. More... | |
flags< PLOT > | get_plot_options () const |
Get options specified for plot(), as a combination of node::PLOT values. More... | |
void | set_plot_options (flags< PLOT > options) |
Set options specified for plot(), as a combination of node::PLOT values. More... | |
void | add_push_destination (const node_token &dest) |
Called by implementers to declare a push destination. More... | |
void | add_push_destination (const node &dest) |
Called by implementers to declare a push destination. More... | |
void | add_pull_source (const node_token &dest) |
Called by implementers to declare a pull source. More... | |
void | add_pull_source (const node &dest) |
Called by implementers to declare a pull source. More... | |
void | add_dependency (const node_token &dest) |
Called by implementers to declare a node dependency, that is, a requirement that another node has end() called before the begin() of this node. More... | |
void | add_dependency (const node &dest) |
Called by implementers to declare a node dependency, that is, a requirement that another node has end() called before the begin() of this node. More... | |
void | add_memory_share_dependency (const node_token &dest) |
Called by implementers to declare a node memory share dependency, that is, a requirement that another node has end() called before the begin() of this node, and memory shared between end() and begin() unless evacuate() is called. More... | |
void | add_memory_share_dependency (const node &dest) |
Called by implementers to declare a node memory share dependency, that is, a requirement that another node has end() called before the begin() of this node, and memory shared between end() and begin() unless evacuate() is called. More... | |
template<typename T > | |
void | forward (std::string key, T value, memory_size_type k=std::numeric_limits< memory_size_type >::max()) |
Called by implementers to forward auxiliary data to successors. More... | |
void | forward_any (std::string key, any_noncopyable value, memory_size_type k=std::numeric_limits< memory_size_type >::max()) |
See node::forward. More... | |
bool | can_fetch (std::string key) |
Find out if there is a piece of auxiliary data forwarded with a given name. More... | |
maybeany_t | fetch_maybe (std::string key) |
Fetch piece of auxiliary data as any_noncopyable (the internal representation) wrapped in a boost::optional which is unitialized if the key is not found. More... | |
any_noncopyable & | fetch_any (std::string key) |
Fetch piece of auxiliary data as any_noncopyable (the internal representation). More... | |
template<typename T > | |
T & | fetch (std::string key) |
Fetch piece of auxiliary data, expecting a given value type. More... | |
void | no_forward_through () |
Dissablow forwards through this node. More... | |
const node_token & | get_token () const |
Get the node_token that maps this node's ID to a pointer to this. More... | |
void | set_steps (stream_size_type steps) |
Called by implementers that intend to call step(). More... | |
void | step (stream_size_type steps=1) |
Step the progress indicator. More... | |
progress_indicator_base * | proxy_progress_indicator () |
Get a non-initialized progress indicator for use with external implementations. More... | |
bool | can_pull () const |
For pull nodes, return true if there are more items to be pulled. More... | |
item_type | pull () |
For pull nodes, pull the next item from this node. More... | |
void | push (const item_type &item) |
For push nodes, push the next item to this node. More... | |
void | register_datastructure_usage (const std::string &name, double priority=1) |
Registers a datastructure. More... | |
void | set_datastructure_memory_limits (const std::string &name, memory_size_type min, memory_size_type max=std::numeric_limits< memory_size_type >::max()) |
Assign memory to a registered datastructure. More... | |
memory_size_type | get_datastructure_memory (const std::string &name) |
Returns the memory assigned to a datastructure. More... | |
template<typename T > | |
void | set_datastructure (const std::string &name, T datastructure) |
Returns a previously declared datastructure. More... | |
template<typename T > | |
T & | get_datastructure (const std::string &name) |
Returns a previously declared datastructure. More... | |
void | unset_datastructure (const std::string &name) |
size_t | buckets () const |
Count the number of memory buckets. More... | |
std::unique_ptr< memory_bucket > & | bucket (size_t i) |
Access a memory bucket. More... | |
tpie::memory_bucket_ref | allocator (size_t i=0) |
Return an allocator that counts memory usage within the node. More... | |
Protected Types | |
typedef state_base::lock_t | lock_t |
Protected Attributes | |
state_base & | st |
size_t | parId |
std::unique_ptr < parallel_output_buffer< T > > | m_buffer |
array< parallel_output_buffer < T > * > & | m_outputBuffers |
consumer< T > *const * | m_cons |
Accepts output items and sends them to the main thread.
|
inherited |
|
inherited |
Used internally to check order of method calls.
|
inherited |
Used internally to assign the available resource to the node.
|
inherited |
|
inherited |
|
inherited |
Called by implementers to declare a node memory share dependency, that is, a requirement that another node has end() called before the begin() of this node, and memory shared between end() and begin() unless evacuate() is called.
|
inherited |
Called by implementers to declare a node memory share dependency, that is, a requirement that another node has end() called before the begin() of this node, and memory shared between end() and begin() unless evacuate() is called.
|
inherited |
Called by implementers to declare a pull source.
Referenced by tpie::pipelining::factory_base::add_default_edge().
|
inherited |
Called by implementers to declare a pull source.
|
inherited |
Called by implementers to declare a push destination.
Referenced by tpie::pipelining::factory_base::add_default_edge(), and tpie::pipelining::parallel_bits::after< T >::set_consumer().
|
inherited |
Called by implementers to declare a push destination.
|
inlineinherited |
Return an allocator that counts memory usage within the node.
Definition at line 788 of file node.h.
References tpie::pipelining::node::bucket().
|
inlinevirtualinherited |
Begin pipeline processing phase.
The implementation may pull() from a pull destination in begin(), and it may push() to a push destination.
The pipelining framework calls begin() on the nodes in the actor graph in a reverse topological order. The framework calls node::begin() on a node after calling begin() on its pull and push destinations.
The default implementation does nothing.
Reimplemented in tpie::pipelining::parallel_bits::producer< T1, T2 >, tpie::pipelining::parallel_bits::before< T >, tpie::pipelining::parallel_bits::before< push_type< dest_t >::type >, tpie::pipelining::bits::unique_t< dest_t, equal_t >, tpie::pipelining::bits::sort_input_t< T, pred_t, store_t >, tpie::pipelining::serialization_bits::sort_input_t< Traits >, tpie::pipelining::bits::named_output_t< T >, tpie::pipelining::serialization_bits::buffer_input_t< T >, tpie::pipelining::bits::sort_calc_t< T, pred_t, store_t >, tpie::pipelining::serialization_bits::sort_calc_t< Traits >, tpie::pipelining::bits::sort_output_t< pred_t, dest_t, store_t >, tpie::pipelining::bits::virtrecv< Output >, tpie::pipelining::serialization_bits::reverser_input_t< T >, tpie::pipelining::bits::sort_pull_output_t< T, pred_t, store_t >, tpie::pipelining::join< T >::sink_impl, tpie::pipelining::bits::buffer_input_t< T >, tpie::pipelining::bits::pull_peek_t< source_t >, tpie::pipelining::serialization_bits::sort_output_base< Traits >, tpie::pipelining::bits::pull_input_vector_t< T, A >, tpie::pipelining::bits::chunker_t< dest_t >, tpie::pipelining::bits::reverser_input_t< T >, tpie::pipelining::bits::ostream_logger_t< dest_t >, and tpie::pipelining::bits::ami_input_t< dest_t >.
Definition at line 299 of file node.h.
Referenced by tpie::pipelining::bits::ostream_logger_t< dest_t >::begin(), tpie::pipelining::bits::virtrecv< Output >::begin(), and tpie::pipelining::parallel_bits::before< push_type< dest_t >::type >::begin().
|
inlineinherited |
Access a memory bucket.
Definition at line 779 of file node.h.
Referenced by tpie::pipelining::node::allocator().
|
inlineinherited |
|
inlinevirtualinherited |
Overridden by nodes that have data to evacuate.
Reimplemented in tpie::pipelining::bits::sort_input_t< T, pred_t, store_t >, tpie::pipelining::serialization_bits::sort_input_t< Traits >, tpie::pipelining::bits::sort_calc_t< T, pred_t, store_t >, and tpie::pipelining::serialization_bits::sort_calc_t< Traits >.
|
inlineinherited |
Find out if there is a piece of auxiliary data forwarded with a given name.
Definition at line 589 of file node.h.
References tpie::pipelining::node::fetch_maybe().
Referenced by tpie::pipelining::bits::sort_input_t< T, pred_t, store_t >::propagate().
|
inlineinherited |
For pull nodes, return true if there are more items to be pulled.
|
inlineoverridevirtual |
End pipeline processing phase.
The implementation may pull() from a pull destination in end(), and it may push() to a push destination.
The pipelining framework calls end() on the nodes in the pipeline graph in a topological order. The framework calls node::end() on a node before its pull and push destinations.
The default implementation does nothing, so it does not matter if the implementation calls the parent end().
Reimplemented from tpie::pipelining::node.
|
inlinevirtualinherited |
Overridden by nodes that have data to evacuate.
Reimplemented in tpie::pipelining::bits::sort_input_t< T, pred_t, store_t >, tpie::pipelining::serialization_bits::sort_input_t< Traits >, tpie::pipelining::bits::sort_calc_t< T, pred_t, store_t >, and tpie::pipelining::serialization_bits::sort_calc_t< Traits >.
|
inlineinherited |
Fetch piece of auxiliary data, expecting a given value type.
Definition at line 610 of file node.h.
References tpie::pipelining::node::fetch_any().
|
inherited |
Fetch piece of auxiliary data as any_noncopyable (the internal representation).
Referenced by tpie::pipelining::node::fetch().
|
inherited |
Fetch piece of auxiliary data as any_noncopyable (the internal representation) wrapped in a boost::optional which is unitialized if the key is not found.
Referenced by tpie::pipelining::node::can_fetch().
|
inlineoverridevirtual |
Invoked by before::push_all when all input items have been pushed.
Implements tpie::pipelining::parallel_bits::after_base.
|
inlineinherited |
Called by implementers to forward auxiliary data to successors.
If explicitForward is false, the data will not override data forwarded with explicitForward == true.
key | The key of forwarded data |
value | The value of forwarded data |
k | The maximum distance to forward the distance. If there are more than k nodes between the forwarding nodes and another node b. b will not be able to fetch the data. Defaults to infinity. |
Definition at line 564 of file node.h.
References tpie::pipelining::node::forward_any().
Referenced by tpie::pipelining::bits::reverser_input_t< T >::end(), tpie::pipelining::bits::buffer_input_t< T >::end(), tpie::pipelining::bits::ami_input_t< dest_t >::propagate(), tpie::pipelining::bits::input_vector_t< dest_t, T, A >::propagate(), tpie::pipelining::bits::buffer_pull_output_t< T >::propagate(), tpie::pipelining::bits::range_t< dest_t >::propagate(), tpie::pipelining::bits::sort_output_base< push_type< dest_t >::type, pred_t, store_t >::propagate(), tpie::pipelining::bits::ami_input_stack_t< dest_t >::propagate(), tpie::pipelining::serialization_bits::sort_output_base< Traits >::propagate(), tpie::pipelining::bits::pull_input_vector_t< T, A >::propagate(), tpie::pipelining::bits::internal_buffer_input_t< T >::propagate(), tpie::pipelining::bits::internal_reverser_input_t< T >::propagate(), tpie::pipelining::bits::ami_pull_input_stack_t< T >::propagate(), tpie::pipelining::bits::reverser_output_t< dest_t >::propagate(), tpie::pipelining::bits::buffer_output_t< dest_t >::propagate(), tpie::pipelining::bits::internal_reverser_output_t< dest_t >::propagate(), tpie::pipelining::bits::reverser_pull_output_t< T >::propagate(), and tpie::pipelining::bits::internal_reverser_pull_output_t< T >::propagate().
|
inherited |
See node::forward.
Referenced by tpie::pipelining::node::forward(), and tpie::pipelining::bits::Forwarder< dest_t >::prepare().
|
inlineinherited |
Get the amount of memory assigned to this node.
Definition at line 200 of file node.h.
References tpie::pipelining::node::get_available_of_resource().
|
inlineinherited |
Get the amount of the specific resource assigned to this node.
Definition at line 138 of file node.h.
Referenced by tpie::pipelining::node::get_available_memory().
|
inlineinherited |
Returns a previously declared datastructure.
name | the name of the datastructure |
the | type of the datastructure |
Definition at line 738 of file node.h.
References tpie::pipelining::node::get_node_map().
|
inherited |
Returns the memory assigned to a datastructure.
name | the name of the datastructure |
|
inlineinherited |
Get the internal node ID of this node (mainly for debugging purposes).
Definition at line 259 of file node.h.
Referenced by tpie::pipelining::factory_base::add_default_edge().
|
inlineinherited |
Get the maximum amount of memory declared by this node.
Defaults to maxint when no maximum has been set.
Definition at line 186 of file node.h.
References tpie::pipelining::node::get_maximum_resource_usage().
|
inlineinherited |
Get the maximum amount of the resource declared by this node.
Defaults to maxint when no maximum has been set.
Definition at line 124 of file node.h.
Referenced by tpie::pipelining::node::get_maximum_memory().
|
inlineinherited |
Get the memory priority of this node.
Definition at line 193 of file node.h.
References tpie::pipelining::node::get_resource_fraction().
|
inlineinherited |
Get the minimum amount of memory declared by this node.
Defaults to zero when no minimum has been set.
Definition at line 178 of file node.h.
References tpie::pipelining::node::get_minimum_resource_usage().
|
inlineinherited |
Get the minimum amount of the resource declared by this node.
Defaults to zero when no minimum has been set.
Definition at line 116 of file node.h.
Referenced by tpie::pipelining::node::get_minimum_memory().
|
inherited |
Get this node's name.
For purposes of pipeline debugging and phase naming for progress indicator breadcrumbs.
|
inlineinherited |
|
inlineinherited |
Get the local node map, mapping node IDs to node pointers for all the nodes reachable from this one.
Definition at line 251 of file node.h.
Referenced by tpie::pipelining::factory_base::add_default_edge(), tpie::pipelining::node::get_datastructure(), tpie::pipelining::virtual_chunk_end< Input >::operator=(), tpie::pipelining::virtual_chunk< Input, Output >::operator=(), tpie::pipelining::virtual_chunk_begin< Output >::operator=(), and tpie::pipelining::node::set_datastructure().
|
inherited |
Get this node's phase name.
For purposes of pipeline debugging and phase naming for progress indicator breadcrumbs.
|
inlineinherited |
|
inlineinherited |
Get options specified for plot(), as a combination of node::PLOT
values.
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
Get the priority for the specific resource of this node.
Definition at line 131 of file node.h.
Referenced by tpie::pipelining::node::get_memory_fraction().
|
inlineinherited |
Used internally to check order of method calls.
Definition at line 422 of file node.h.
Referenced by tpie::pipelining::node::step().
|
inlineinherited |
|
inlineinherited |
Get the node_token that maps this node's ID to a pointer to this.
Definition at line 632 of file node.h.
Referenced by tpie::pipelining::factory_base::add_default_edge().
|
inlineinherited |
|
inlinevirtualinherited |
For initiator nodes, execute this phase by pushing all items to be pushed.
For non-initiator nodes, the default implementation throws a not_initiator_node exception.
Reimplemented in tpie::pipelining::bits::pull_source_t< fact_t >::type< dest_t >, tpie::pipelining::serialization_bits::buffer_output_t< dest_t >, tpie::pipelining::bits::pull_output_t< source_t >, tpie::pipelining::bits::pull_output_iterator_t< IT >::type< dest_t >, tpie::pipelining::bits::sort_calc_t< T, pred_t, store_t >, tpie::pipelining::serialization_bits::sort_calc_t< Traits >, tpie::pipelining::bits::push_input_iterator_t< IT >::type< dest_t >, tpie::pipelining::serialization_bits::reverser_output_t< dest_t >, tpie::pipelining::bits::sort_output_t< pred_t, dest_t, store_t >, tpie::pipelining::serialization_bits::sort_output_t< Traits, dest_t >, tpie::pipelining::bits::internal_reverser_output_t< dest_t >, tpie::pipelining::bits::sort_pull_output_t< T, pred_t, store_t >, tpie::pipelining::serialization_bits::sort_pull_output_t< Traits >, tpie::pipelining::bits::buffer_output_t< dest_t >, tpie::pipelining::bits::reverser_output_t< dest_t >, tpie::pipelining::bits::named_input_t< dest_t >, tpie::pipelining::bits::ami_input_stack_t< dest_t >, tpie::pipelining::bits::input_t< dest_t >, tpie::pipelining::bits::range_t< dest_t >, tpie::pipelining::serialization_bits::input_t< dest_t >, tpie::pipelining::bits::input_vector_t< dest_t, T, A >, tpie::pipelining::bits::ami_input_t< dest_t >, and tpie::pipelining::bits::scanf_ints_t< dest_t >.
Definition at line 309 of file node.h.
References tpie::log_warning().
|
inherited |
Dissablow forwards through this node.
|
inlinevirtualinherited |
Called before memory assignment but after depending phases have executed and ended.
The implementer may use fetch and forward in this phase. The implementer does not have to call the super prepare-method; its default implementation is empty.
Reimplemented in tpie::pipelining::bits::preparer_t< F >::type< dest_t >, tpie::pipelining::join< T >::source_impl< dest_t >, tpie::pipelining::split< T >::source_impl< dest_t >, and tpie::pipelining::bits::Forwarder< dest_t >.
|
inlinevirtualinherited |
Propagate stream metadata.
The implementation may fetch() and forward() metadata such as number of items or the size of a single item.
The pipelining framework calls propagate() on the nodes in the item flow graph in a topological order.
The default implementation does nothing.
Reimplemented in tpie::pipelining::bits::pull_source_t< fact_t >::type< dest_t >, tpie::pipelining::serialization_bits::buffer_pull_output_t< T >, tpie::pipelining::bits::sort_input_t< T, pred_t, store_t >, tpie::pipelining::bits::propagater_t< F >::type< dest_t >, tpie::pipelining::serialization_bits::buffer_output_t< dest_t >, tpie::pipelining::serialization_bits::sort_input_t< Traits >, tpie::pipelining::serialization_bits::buffer_input_t< T >, tpie::pipelining::bits::sort_calc_t< T, pred_t, store_t >, tpie::pipelining::bits::internal_reverser_pull_output_t< T >, tpie::pipelining::serialization_bits::reverser_pull_output_t< T >, tpie::pipelining::serialization_bits::sort_calc_t< Traits >, tpie::pipelining::bits::named_pull_input_t< T >, tpie::pipelining::bits::reverser_pull_output_t< T >, tpie::pipelining::serialization_bits::reverser_output_t< dest_t >, tpie::pipelining::bits::pull_reverse_input_t< T >, tpie::pipelining::bits::internal_reverser_output_t< dest_t >, tpie::pipelining::serialization_bits::reverser_input_t< T >, tpie::pipelining::bits::pull_input_t< T >, tpie::pipelining::bits::buffer_output_t< dest_t >, tpie::pipelining::bits::reverser_output_t< dest_t >, tpie::pipelining::bits::named_input_t< dest_t >, tpie::pipelining::bits::ami_pull_input_stack_t< T >, tpie::pipelining::bits::internal_reverser_input_t< T >, tpie::pipelining::bits::internal_buffer_input_t< T >, tpie::pipelining::bits::pull_input_vector_t< T, A >, tpie::pipelining::serialization_bits::sort_output_base< Traits >, tpie::pipelining::bits::ami_input_stack_t< dest_t >, tpie::pipelining::bits::sort_output_base< T, pred_t, store_t >, tpie::pipelining::bits::sort_output_base< push_type< dest_t >::type, pred_t, store_t >, tpie::pipelining::bits::input_t< dest_t >, tpie::pipelining::bits::range_t< dest_t >, tpie::pipelining::serialization_bits::input_t< dest_t >, tpie::pipelining::bits::buffer_pull_output_t< T >, tpie::pipelining::bits::internal_buffer_pull_output_t< T >, tpie::pipelining::bits::input_vector_t< dest_t, T, A >, and tpie::pipelining::bits::ami_input_t< dest_t >.
|
inherited |
Get a non-initialized progress indicator for use with external implementations.
When step() is called on a proxying progress indicator, step() is called on the node according to the number of steps declared in progress_indicator_base::init() and in node::set_steps().
Referenced by tpie::pipelining::serialization_bits::sort_calc_t< Traits >::go(), and tpie::pipelining::bits::sort_calc_t< T, pred_t, store_t >::go().
|
inlineinherited |
For pull nodes, pull the next item from this node.
|
inline |
|
inlineinherited |
For push nodes, push the next item to this node.
|
inherited |
Registers a datastructure.
name | the name of the datastructure |
priority | the priority that should be given to this datastructure when assigning memory |
|
inlinevirtualinherited |
Called by the resource manager to notify the node's available amount of resource has changed.
Reimplemented in tpie::pipelining::bits::sort_input_t< T, pred_t, store_t >, tpie::pipelining::bits::sort_calc_t< T, pred_t, store_t >, tpie::pipelining::bits::sort_output_base< T, pred_t, store_t >, and tpie::pipelining::bits::sort_output_base< push_type< dest_t >::type, pred_t, store_t >.
|
inlinevirtualinherited |
Called by the memory manager to set the amount of memory assigned to this node.
Reimplemented in tpie::pipelining::serialization_bits::sort_input_t< Traits >, tpie::pipelining::serialization_bits::sort_calc_t< Traits >, and tpie::pipelining::serialization_bits::sort_output_base< Traits >.
Definition at line 233 of file node.h.
References tpie::unused().
|
inlineinherited |
Used internally when a pair_factory has a name set.
Definition at line 389 of file node.h.
Referenced by tpie::pipelining::factory_base::init_node(), and tpie::pipelining::factory_base::init_sub_node().
|
inlineoverridevirtual |
For internal use in order to construct the pipeline graph.
Implements tpie::pipelining::parallel_bits::after_base.
Definition at line 449 of file base.h.
References tpie::pipelining::node::add_push_destination().
|
inlineinherited |
Returns a previously declared datastructure.
name | the name of the datastructure |
datastructure | the datastructure itself |
Definition at line 722 of file node.h.
References tpie::pipelining::node::get_node_map().
|
inherited |
Assign memory to a registered datastructure.
name | the name of the datastructure |
min | the minimum amount of memory required by the datastructure |
max | the maximum amount of memory used by the datastructure |
|
inlineinherited |
Called by implementers to declare maximum memory requirements.
To signal that you don't want any memory, set minimum memory and the memory fraction to zero.
Definition at line 217 of file node.h.
References tpie::pipelining::node::set_maximum_resource_usage().
Referenced by tpie::pipelining::bits::sort_output_base< push_type< dest_t >::type, pred_t, store_t >::propagate(), and tpie::pipelining::serialization_bits::sort_output_base< Traits >::propagate().
|
inherited |
Called by implementers to declare maximum resource requirements.
To signal that you don't want to use this resource, set minimum resource usage and the resource fraction to zero.
Referenced by tpie::pipelining::node::set_maximum_memory().
|
inlineinherited |
Set the memory priority of this node.
Memory is distributed proportionally to the priorities of the nodes in the given phase.
Definition at line 225 of file node.h.
References tpie::pipelining::node::set_resource_fraction().
Referenced by tpie::pipelining::bits::sort_output_base< push_type< dest_t >::type, pred_t, store_t >::propagate(), and tpie::pipelining::serialization_bits::sort_output_base< Traits >::propagate().
|
inlineinherited |
Called by implementers to declare minimum memory requirements.
Definition at line 207 of file node.h.
References tpie::pipelining::node::set_minimum_resource_usage().
Referenced by tpie::pipelining::bits::sort_output_base< push_type< dest_t >::type, pred_t, store_t >::propagate(), and tpie::pipelining::serialization_bits::sort_output_base< Traits >::propagate().
|
inherited |
Called by implementers to declare minimum resource requirements.
Referenced by tpie::pipelining::node::set_minimum_memory().
|
inherited |
Set this node's name.
For purposes of pipeline debugging and phase naming for progress indicator breadcrumbs.
Referenced by tpie::pipelining::factory_base::init_node().
|
inherited |
Set this node's phase name.
For purposes of pipeline debugging and phase naming for progress indicator breadcrumbs.
Referenced by tpie::pipelining::factory_base::init_node().
|
inlineinherited |
Set options specified for plot(), as a combination of node::PLOT
values.
|
inlineinherited |
|
inlineinherited |
|
inherited |
Set the resource priority of this node.
Resources are distributed proportionally to the priorities of the nodes in the given phase.
Referenced by tpie::pipelining::node::set_memory_fraction().
|
inlineinherited |
|
inherited |
Called by implementers that intend to call step().
steps | The number of times step() is called at most. |
Referenced by tpie::pipelining::bits::ami_input_t< dest_t >::propagate(), tpie::pipelining::bits::input_vector_t< dest_t, T, A >::propagate(), tpie::pipelining::bits::buffer_pull_output_t< T >::propagate(), tpie::pipelining::serialization_bits::input_t< dest_t >::propagate(), tpie::pipelining::bits::range_t< dest_t >::propagate(), tpie::pipelining::bits::sort_output_base< push_type< dest_t >::type, pred_t, store_t >::propagate(), tpie::pipelining::bits::ami_input_stack_t< dest_t >::propagate(), tpie::pipelining::serialization_bits::sort_output_base< Traits >::propagate(), tpie::pipelining::bits::ami_pull_input_stack_t< T >::propagate(), tpie::pipelining::bits::reverser_output_t< dest_t >::propagate(), tpie::pipelining::bits::buffer_output_t< dest_t >::propagate(), tpie::pipelining::bits::internal_reverser_output_t< dest_t >::propagate(), tpie::pipelining::serialization_bits::reverser_output_t< dest_t >::propagate(), tpie::pipelining::serialization_bits::sort_calc_t< Traits >::propagate(), tpie::pipelining::serialization_bits::reverser_pull_output_t< T >::propagate(), tpie::pipelining::bits::sort_calc_t< T, pred_t, store_t >::propagate(), tpie::pipelining::serialization_bits::buffer_output_t< dest_t >::propagate(), tpie::pipelining::serialization_bits::buffer_pull_output_t< T >::propagate(), and tpie::pipelining::bits::pull_source_t< fact_t >::type< dest_t >::propagate().
|
inlineinherited |
Step the progress indicator.
steps | How many steps to step. |
Definition at line 654 of file node.h.
References tpie::pipelining::node::get_state(), and tpie::progress_indicator_base::step().
Referenced by tpie::pipelining::bits::ami_input_t< dest_t >::go(), tpie::pipelining::bits::input_vector_t< dest_t, T, A >::go(), tpie::pipelining::serialization_bits::input_t< dest_t >::go(), tpie::pipelining::bits::range_t< dest_t >::go(), tpie::pipelining::bits::ami_input_stack_t< dest_t >::go(), tpie::pipelining::bits::reverser_output_t< dest_t >::go(), tpie::pipelining::bits::buffer_output_t< dest_t >::go(), tpie::pipelining::bits::internal_reverser_output_t< dest_t >::go(), tpie::pipelining::serialization_bits::sort_output_t< Traits, dest_t >::go(), tpie::pipelining::bits::sort_output_t< pred_t, dest_t, store_t >::go(), tpie::pipelining::serialization_bits::reverser_output_t< dest_t >::go(), tpie::pipelining::serialization_bits::buffer_output_t< dest_t >::go(), and tpie::pipelining::bits::pull_source_t< fact_t >::type< dest_t >::go().
|
inlineoverridevirtual |
Invoked by before::worker (in worker thread context).
Implements tpie::pipelining::parallel_bits::after_base.