|
Hedgehog
3.1.0
A library to generate hybrid pipeline workflow systems
|
Abstraction specialized for the execution pipeline. More...
#include "execution_pipeline_node_abstraction.h"


Public Member Functions | |
| ExecutionPipelineNodeAbstraction (std::string const &name, behavior::Node *node) | |
| Constructor using the node name. | |
| ~ExecutionPipelineNodeAbstraction () override=default | |
| Default destructor. | |
| std::vector< std::pair< std::string const, std::string const > > | ids () const override |
| Node ids [nodeId, nodeGroupId] accessor. | |
| bool | hasMemoryManagerAttached () const override |
| Test if a node has a memory attached, an execution pipeline can't have a memory manager. | |
| std::shared_ptr< AbstractMemoryManager > | memoryManager () const override |
| Accessor to memory manager, an execution pipeline has no memory manager. | |
| virtual void | launchGraphThreads (bool waitForInitialization)=0 |
| Launch the graphs inside of the execution pipeline, called when the outer graph is executed. | |
| virtual std::pair< std::chrono::nanoseconds, std::chrono::nanoseconds > | minMaxExecutionDuration () const =0 |
| Getter to the min max execution duration from the nodes inside the graphs in the execution pipeline. | |
| virtual std::pair< std::chrono::nanoseconds, std::chrono::nanoseconds > | minMaxWaitDuration () const =0 |
| Getter to the min max wait duration from the nodes inside the graphs in the execution pipeline. | |
Public Member Functions inherited from hh::core::abstraction::TaskNodeAbstraction | |
| TaskNodeAbstraction (std::string const &name, behavior::Node *node) | |
| Create the abstraction with the node's name. | |
| ~TaskNodeAbstraction () override=default | |
| Default destructor. | |
| bool | isActive () const |
| Accessor to task status. | |
| bool | isInitialized () const |
| Accessor to initialized flag. | |
| size_t | numberReceivedElements () const |
| Accessor to the number of received elements. | |
| std::chrono::nanoseconds const & | waitDuration () const |
| Accessor to the duration the node was in a wait state. | |
| std::chrono::nanoseconds const & | memoryWaitDuration () const |
| Accessor to the duration the node was in a memory wait state. | |
| std::shared_ptr< NvtxProfiler > const & | nvtxProfiler () const |
| Accessor to the NVTX profiler attached to the node. | |
| std::chrono::nanoseconds | perElementExecutionDuration () const |
| Accessor to the duration the average duration of processing an input data. | |
| void | isActive (bool isActive) |
| Setter to the task status. | |
| void | incrementNumberReceivedElements () |
| Increment the number of elements received. | |
| void | incrementWaitDuration (std::chrono::nanoseconds const &wait) |
| Increment the wait duration. | |
| void | incrementMemoryWaitDuration (std::chrono::nanoseconds const &wait) |
| Increase the memory wait duration. | |
| void | incrementPerElementExecutionDuration (std::chrono::nanoseconds const &exec) |
| Increase the execution time per elements. | |
| virtual void | preRun ()=0 |
| Pre run method, called only once. | |
| virtual void | run ()=0 |
| Run method, called when thread is attached. | |
| virtual void | postRun ()=0 |
| Post run method, called only once. | |
| virtual std::string | extraPrintingInformation () const =0 |
| Abstraction to add user-defined message for the printers. | |
| virtual bool | hasMemoryManagerAttached () const =0 |
| Flag accessor to the presence of memory manager attached. | |
| virtual std::shared_ptr< AbstractMemoryManager > | memoryManager () const =0 |
| Accessor to the attached memory manager. | |
| behavior::Node * | node () const override |
| Node accessor. | |
Public Member Functions inherited from hh::core::abstraction::NodeAbstraction | |
| NodeAbstraction (std::string name) | |
| Core node constructor using the core's name. | |
| virtual | ~NodeAbstraction ()=default |
| DEfault destructor. | |
| std::string const & | name () const |
| Accessor to the core's name. | |
| virtual std::string | id () const |
| Core's id ('x' + address of abstraction) as string. | |
| bool | isRegistered () const |
| Accessor to registration flag. | |
| GraphNodeAbstraction * | belongingGraph () const |
| Belonging graph accessor. | |
| virtual int | deviceId () const |
| Get the device identifier (got from belonging graph) | |
| virtual size_t | graphId () const |
| Get the graph identifier (got from belonging graph) | |
| std::chrono::nanoseconds const & | executionDuration () const |
| Execution duration. | |
| std::chrono::time_point< std::chrono::system_clock > const & | startExecutionTimeStamp () const |
| Accessor to the starting execution timestamp. | |
| void | startExecutionTimeStamp (std::chrono::time_point< std::chrono::system_clock > const &startExecutionTimeStamp) |
| Setter to the starting execution timestamp. | |
| void | incrementExecutionDuration (std::chrono::nanoseconds const &exec) |
| Increment execution duration. | |
| virtual void | registerNode (GraphNodeAbstraction *belongingGraph) |
| Register node to the given graph. | |
| virtual std::vector< std::pair< std::string const, std::string const > > | ids () const =0 |
| Node ids [nodeId, nodeGroupId] accessor. | |
| virtual behavior::Node * | node () const =0 |
| Node accessor. | |
Public Member Functions inherited from hh::core::abstraction::PrintableAbstraction | |
| tool::PrintOptions const & | printOptions () const |
| Print options const accessor. | |
| tool::PrintOptions & | printOptions () |
| Print options accessor. | |
| virtual void | visit (Printer *printer)=0 |
| Visitor method, used by the printer to visit all nodes in the graph. | |
Additional Inherited Members | |
Protected Member Functions inherited from hh::core::abstraction::TaskNodeAbstraction | |
| void | setInitialized () |
| Set the task as initialized. | |
Abstraction specialized for the execution pipeline.
Definition at line 32 of file execution_pipeline_node_abstraction.h.
|
inlineexplicit |
Constructor using the node name.
| name | Node's name |
| node | Node attached to this core |
Definition at line 37 of file execution_pipeline_node_abstraction.h.

|
overridedefault |
Default destructor.
|
inlineoverridevirtual |
Test if a node has a memory attached, an execution pipeline can't have a memory manager.
Implements hh::core::abstraction::TaskNodeAbstraction.
Definition at line 53 of file execution_pipeline_node_abstraction.h.
|
inlineoverridevirtual |
Node ids [nodeId, nodeGroupId] accessor.
Implements hh::core::abstraction::NodeAbstraction.
Definition at line 47 of file execution_pipeline_node_abstraction.h.

|
pure virtual |
Launch the graphs inside of the execution pipeline, called when the outer graph is executed.
| waitForInitialization | Wait for internal nodes to be initialized flags |
Implemented in hh::core::CoreExecutionPipeline< Separator, AllTypes >, and hh::core::CoreExecutionPipeline< Separator, AllTypes... >.
|
inlineoverridevirtual |
Accessor to memory manager, an execution pipeline has no memory manager.
Implements hh::core::abstraction::TaskNodeAbstraction.
Definition at line 57 of file execution_pipeline_node_abstraction.h.
|
pure virtual |
Getter to the min max execution duration from the nodes inside the graphs in the execution pipeline.
Implemented in hh::core::CoreExecutionPipeline< Separator, AllTypes >, and hh::core::CoreExecutionPipeline< Separator, AllTypes... >.

|
pure virtual |
Getter to the min max wait duration from the nodes inside the graphs in the execution pipeline.
Implemented in hh::core::CoreExecutionPipeline< Separator, AllTypes >, and hh::core::CoreExecutionPipeline< Separator, AllTypes... >.
