Hedgehog  0.0.0
A library to generate hybrid pipeline workflow systems
hh::core::CoreNode Class Referenceabstract

Main Hedgehog core abstraction. More...

#include "core_node.h"

Inheritance diagram for hh::core::CoreNode:
Inheritance graph
Collaboration diagram for hh::core::CoreNode:
Collaboration graph

Public Member Functions

 CoreNode ()=delete
 Deleted default constructor.
 
 CoreNode (std::string_view const &name, NodeType const type, size_t numberThreads)
 Core node only constructor. More...
 
virtual ~CoreNode ()
 Default virtual destructor.
 
virtual std::shared_ptr< CoreNodeclone ()=0
 Virtual constructor for copy. More...
 
virtual std::string id () const
 Unique Id accessor. More...
 
virtual std::vector< std::pair< std::string, std::string > > ids () const
 Input node ids [nodeId, nodeIdCluster] accessor. More...
 
std::string_view const & name () const
 Node name accessor. More...
 
NodeType type () const
 Node type accessor. More...
 
bool isInside () const
 Node inside property accessor. More...
 
bool hasBeenRegistered () const
 Node registration property accessor. More...
 
CoreNodecoreClusterNode () const
 Main cluster core node link to this node accessor. More...
 
int threadId () const
 Thread id accessor. More...
 
size_t numberThreads () const
 Number of threads associated accessor. More...
 
CoreNodebelongingNode () const
 Belonging node accessor. More...
 
std::shared_ptr< std::multimap< CoreNode *, std::shared_ptr< CoreNode > > > const & insideNodes () const
 Inside node accessor. More...
 
std::shared_ptr< std::multimap< CoreNode *, std::shared_ptr< CoreNode > > > & insideNodes ()
 Inside nodes accessor. More...
 
std::chrono::duration< uint64_t, std::micro > const & executionTime () const
 Execution time accessor. More...
 
std::chrono::duration< uint64_t, std::micro > const & waitTime () const
 Wait time accessor. More...
 
std::chrono::duration< uint64_t, std::micro > const & memoryWaitTime () const
 Memory wait time accessor. More...
 
bool isInCluster () const
 In cluster property accessor. More...
 
bool isActive () const
 Is active property accessor. More...
 
bool isCudaRelated () const
 Is related to CUDA, used to have a green background on the dot file. More...
 
virtual int graphId ()
 Graph id accessor. More...
 
virtual int deviceId ()
 Device id accessor. More...
 
virtual std::chrono::duration< uint64_t, std::micro > maxExecutionTime () const
 Maximum execution time accessor. More...
 
virtual std::chrono::duration< uint64_t, std::micro > minExecutionTime () const
 Minimum execution time accessor. More...
 
virtual std::chrono::duration< uint64_t, std::micro > maxWaitTime () const
 Maximum waiting time accessor. More...
 
virtual std::chrono::duration< uint64_t, std::micro > minWaitTime () const
 Minimum waiting time accessor. More...
 
std::chrono::time_point< std::chrono::high_resolution_clock > const & creationTimeStamp () const
 Creation timestamp accessor. More...
 
std::chrono::time_point< std::chrono::high_resolution_clock > const & startExecutionTimeStamp () const
 Execution start timestamp accessor. More...
 
std::chrono::duration< uint64_t, std::micro > const & creationDuration () const
 Creation duration accessor. More...
 
std::chrono::duration< uint64_t, std::micro > const & executionDuration () const
 Execution duration accessor. More...
 
std::chrono::duration< uint64_t, std::micro > meanExecTimeCluster () const
 Compute and return the mean execution time for all tasks in the node cluster. More...
 
std::chrono::duration< uint64_t, std::micro > meanWaitTimeCluster () const
 Compute and return the mean wait time for all tasks in the node cluster. More...
 
std::chrono::duration< uint64_t, std::micro > meanMemoryWaitTimeCluster () const
 Compute and return the mean memory wait time for all tasks in the node cluster. More...
 
uint64_t stdvExecTimeCluster () const
 Compute and return the standard deviation execution time for all tasks in the node cluster. More...
 
uint64_t stdvWaitTimeCluster () const
 Compute and return the standard deviation wait time for all tasks in the node cluster. More...
 
uint64_t stdvMemoryWaitTimeCluster () const
 Compute and return the standard deviation memory wait time for all tasks in the node cluster. More...
 
std::pair< uint64_t, uint64_t > minmaxWaitTimeCluster () const
 Compute and return the min and max wait time for all tasks in the node cluster. More...
 
std::pair< uint64_t, uint64_t > minmaxMemoryWaitTimeCluster () const
 Compute and return the min and max memory wait time for all tasks in the node cluster. More...
 
std::pair< uint64_t, uint64_t > minmaxExecTimeCluster () const
 Compute and return the min and max execution time for all tasks in the node cluster. More...
 
size_t numberActiveThreadInCluster () const
 Compute and return the number of active nodes in a cluster. More...
 
virtual std::string extraPrintingInformation ()
 Extra printing information accessor. More...
 
void startExecutionTimeStamp (std::chrono::time_point< std::chrono::high_resolution_clock > const &startExecutionTimeStamp)
 Execution timestamp setter. More...
 
virtual void deviceId (int deviceId)
 Device id setter. More...
 
virtual void setInside ()
 Set the node as inside, (inside a graph)
 
void setInCluster ()
 Set the task as part of a cluster.
 
void threadId (uint8_t threadId)
 Set the thread id. More...
 
void coreClusterNode (CoreNode *coreClusterNode)
 Set the main cluster node to associate to this node. More...
 
void name (std::string_view const &name)
 Name node setter. More...
 
void numberThreads (size_t numberThreads)
 Number of threads setter. More...
 
void belongingNode (CoreNode *belongingNode)
 Belonging node setter. More...
 
void hasBeenRegistered (bool hasBeenRegistered)
 Has been registered property setter. More...
 
void isActive (bool isActive)
 Is active property setter. More...
 
void isCudaRelated (bool isCudaRelated)
 Is CUDA related property setter. More...
 
void isInside (bool isInside)
 Set the node as being inside another one. More...
 
void creationDuration (std::chrono::duration< uint64_t, std::micro > const &creationDuration)
 Creation duration setter. More...
 
void executionDuration (std::chrono::duration< uint64_t, std::micro > const &executionDuration)
 Execution duration setter. More...
 
void incrementWaitForMemoryDuration (std::chrono::duration< uint64_t, std::micro > const &memoryWait)
 Add wait for memory duration to total duration. More...
 
virtual void preRun ()
 Method defining what to do before the run.
 
virtual void run ()
 Run method, main execution.
 
virtual void postRun ()
 Method defining what to do after the run.
 
virtual void createCluster (std::shared_ptr< std::multimap< CoreNode *, std::shared_ptr< CoreNode >>> &)
 Define how to create a cluster for the node, by default do nothing.
 
virtual void joinThreads ()
 Define what is done when the thread is joined.
 
virtual void duplicateEdge (CoreNode *duplicateNode, std::map< CoreNode *, std::shared_ptr< CoreNode >> &correspondenceMap)=0
 Duplicate all of the edges from this to its copy duplicateNode. More...
 
virtual behavior::Nodenode ()=0
 User's node accessor. More...
 
virtual void visit (AbstractPrinter *printer)=0
 Abstract visit method for printing mechanism. More...
 
virtual std::set< CoreSlot * > getSlots ()=0
 Slots accessor for the node. More...
 
void removeInsideNode (CoreNode *coreNode)
 Remove a node from the registered inside nodes. More...
 
void copyInnerStructure (CoreNode *rhs)
 Copy inner structure from rhs nodes to this. More...
 

Protected Member Functions

void addUniqueInsideNode (const std::shared_ptr< CoreNode > &coreNode)
 Add a node to the inside nodes. More...
 
void incrementWaitDuration (std::chrono::duration< uint64_t, std::micro > const &wait)
 Increment wait duration. More...
 
void incrementExecutionDuration (std::chrono::duration< uint64_t, std::micro > const &exec)
 Increment execution duration. More...
 

Private Attributes

bool isInside_ = false
 True if the node is inside a graph, else False.
 
bool hasBeenRegistered_ = false
 True if the node has been registered into a graph, else False.
 
bool isCudaRelated_ = false
 True if the node is related with CUDA, else False.
 
bool isInCluster_ = false
 True if the node is in cluster, else False.
 
bool isActive_ = false
 True if the node is active, else False.
 
int threadId_ = 0
 Thread id, used to debug only.
 
size_t numberThreads_ = 1
 Number of threads associated to the node.
 
std::string_view name_ = ""
 Node name.
 
NodeType const type_
 Node type.
 
CoreNodebelongingNode_ = nullptr
 Pointer to the belonging node, a graph, does not store memory, just for reference.
 
CoreNodecoreClusterNode_ = nullptr
 Pointer to the main cluster node, does not store memory, just for reference.
 
std::shared_ptr< std::multimap< CoreNode *, std::shared_ptr< CoreNode > > > insideNodes_ = nullptr
 Map of inside nodes [Main Cluster Node -> Node].
 
std::chrono::duration< uint64_t, std::micro > creationDuration_ = std::chrono::duration<uint64_t, std::micro>::zero()
 Node creation duration.
 
std::chrono::duration< uint64_t, std::micro > executionDuration_ = std::chrono::duration<uint64_t, std::micro>::zero()
 Node execution duration.
 
std::chrono::duration< uint64_t, std::micro > waitDuration_ = std::chrono::duration<uint64_t, std::micro>::zero()
 Node wait duration.
 
std::chrono::duration< uint64_t, std::micro > memoryWaitDuration_ = std::chrono::duration<uint64_t, std::micro>::zero()
 Node memory wait duration.
 
std::chrono::time_point< std::chrono::high_resolution_clock > const creationTimeStamp_ = std::chrono::high_resolution_clock::now()
 Node creation timestamp.
 
std::chrono::time_point< std::chrono::high_resolution_clock > startExecutionTimeStamp_ = std::chrono::high_resolution_clock::now()
 Node begin execution timestamp.
 

Detailed Description

Main Hedgehog core abstraction.

Definition at line 48 of file core_node.h.

Constructor & Destructor Documentation

◆ CoreNode()

hh::core::CoreNode::CoreNode ( std::string_view const &  name,
NodeType const  type,
size_t  numberThreads 
)
inline

Core node only constructor.

Parameters
nameNode name
typeNode type
numberThreadsNode number of threads

Definition at line 92 of file core_node.h.

Member Function Documentation

◆ addUniqueInsideNode()

void hh::core::CoreNode::addUniqueInsideNode ( const std::shared_ptr< CoreNode > &  coreNode)
inlineprotected

Add a node to the inside nodes.

Parameters
coreNodeNode to add to the inside nodes

Definition at line 550 of file core_node.h.

Here is the caller graph for this function:

◆ belongingNode() [1/2]

CoreNode* hh::core::CoreNode::belongingNode ( ) const
inline

Belonging node accessor.

Returns
Belonging node

Definition at line 156 of file core_node.h.

Here is the caller graph for this function:

◆ belongingNode() [2/2]

void hh::core::CoreNode::belongingNode ( CoreNode belongingNode)
inline

Belonging node setter.

Parameters
belongingNodeBelonging node

Definition at line 456 of file core_node.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ clone()

◆ copyInnerStructure()

void hh::core::CoreNode::copyInnerStructure ( CoreNode rhs)
inline

Copy inner structure from rhs nodes to this.

Parameters
rhsNode to copy to this

Definition at line 537 of file core_node.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ coreClusterNode() [1/2]

CoreNode* hh::core::CoreNode::coreClusterNode ( ) const
inline

Main cluster core node link to this node accessor.

Returns
Main cluster core node link to this node

Definition at line 144 of file core_node.h.

Here is the caller graph for this function:

◆ coreClusterNode() [2/2]

void hh::core::CoreNode::coreClusterNode ( CoreNode coreClusterNode)
inline

Set the main cluster node to associate to this node.

Parameters
coreClusterNodeMain cluster node to associate to this node

Definition at line 444 of file core_node.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ creationDuration() [1/2]

std::chrono::duration<uint64_t, std::micro> const& hh::core::CoreNode::creationDuration ( ) const
inline

Creation duration accessor.

Returns
Creation duration

Definition at line 240 of file core_node.h.

Here is the caller graph for this function:

◆ creationDuration() [2/2]

void hh::core::CoreNode::creationDuration ( std::chrono::duration< uint64_t, std::micro > const &  creationDuration)
inline

Creation duration setter.

Parameters
creationDurationCreation duration to set

Definition at line 476 of file core_node.h.

◆ creationTimeStamp()

std::chrono::time_point<std::chrono::high_resolution_clock> const& hh::core::CoreNode::creationTimeStamp ( ) const
inline

Creation timestamp accessor.

Returns
Creation timestamp

Definition at line 227 of file core_node.h.

Here is the caller graph for this function:

◆ deviceId() [1/2]

virtual int hh::core::CoreNode::deviceId ( )
inlinevirtual

Device id accessor.

Returns
Device id

Reimplemented in hh::core::CoreGraph< GraphOutput, GraphInputs >, hh::core::CoreExecutionPipeline< GraphOutput, GraphInputs >, and hh::core::CoreExecutionPipeline< GraphOutput, GraphInputs... >.

Definition at line 203 of file core_node.h.

Here is the caller graph for this function:

◆ deviceId() [2/2]

virtual void hh::core::CoreNode::deviceId ( int  deviceId)
inlinevirtual

Device id setter.

Parameters
deviceIdDevice id

Reimplemented in hh::core::CoreGraph< GraphOutput, GraphInputs >.

Definition at line 430 of file core_node.h.

◆ duplicateEdge()

virtual void hh::core::CoreNode::duplicateEdge ( CoreNode duplicateNode,
std::map< CoreNode *, std::shared_ptr< CoreNode >> &  correspondenceMap 
)
pure virtual

Duplicate all of the edges from this to its copy duplicateNode.

Parameters
duplicateNodeNode to connect
correspondenceMapCorrespondence map from base node to copy

Implemented in hh::core::CoreQueueSender< NodeOutput >, hh::core::CoreQueueSender< GraphOutput >, hh::core::CoreQueueSender< GraphInputs >, hh::core::CoreQueueSender< TaskOutput >, hh::core::CoreSwitch< GraphInputs >, hh::core::CoreSender< Output >, hh::core::CoreSender< GraphOutput >, hh::core::CoreSender< NodeOutput >, hh::core::CoreSender< GraphInputs >, and hh::core::CoreSender< TaskOutput >.

Here is the caller graph for this function:

◆ executionDuration() [1/2]

std::chrono::duration<uint64_t, std::micro> const& hh::core::CoreNode::executionDuration ( ) const
inline

Execution duration accessor.

Returns
Execution duration

Definition at line 244 of file core_node.h.

Here is the caller graph for this function:

◆ executionDuration() [2/2]

void hh::core::CoreNode::executionDuration ( std::chrono::duration< uint64_t, std::micro > const &  executionDuration)
inline

Execution duration setter.

Parameters
executionDurationExecution duration

Definition at line 482 of file core_node.h.

◆ executionTime()

std::chrono::duration<uint64_t, std::micro> const& hh::core::CoreNode::executionTime ( ) const
inline

Execution time accessor.

Returns
Execution time

Definition at line 173 of file core_node.h.

◆ extraPrintingInformation()

virtual std::string hh::core::CoreNode::extraPrintingInformation ( )
inlinevirtual

Extra printing information accessor.

Returns
Extra printing information

Reimplemented in hh::core::CoreSwitch< GraphInputs >.

Definition at line 419 of file core_node.h.

◆ getSlots()

virtual std::set<CoreSlot *> hh::core::CoreNode::getSlots ( )
pure virtual

◆ graphId()

virtual int hh::core::CoreNode::graphId ( )
inlinevirtual

Graph id accessor.

Returns
Graph id

Reimplemented in hh::core::CoreGraph< GraphOutput, GraphInputs >.

Definition at line 199 of file core_node.h.

Here is the caller graph for this function:

◆ hasBeenRegistered() [1/2]

bool hh::core::CoreNode::hasBeenRegistered ( ) const
inline

Node registration property accessor.

Returns
Node registration property

Definition at line 140 of file core_node.h.

Here is the caller graph for this function:

◆ hasBeenRegistered() [2/2]

void hh::core::CoreNode::hasBeenRegistered ( bool  hasBeenRegistered)
inline

Has been registered property setter.

Parameters
hasBeenRegisteredHas been registered property

Definition at line 460 of file core_node.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ id()

virtual std::string hh::core::CoreNode::id ( ) const
inlinevirtual

Unique Id accessor.

Returns
Unique Id

Reimplemented in hh::core::CoreExecutionPipeline< GraphOutput, GraphInputs >, and hh::core::CoreExecutionPipeline< GraphOutput, GraphInputs... >.

Definition at line 114 of file core_node.h.

Here is the caller graph for this function:

◆ ids()

virtual std::vector<std::pair<std::string, std::string> > hh::core::CoreNode::ids ( ) const
inlinevirtual

Input node ids [nodeId, nodeIdCluster] accessor.

Returns
Input node ids [nodeId, nodeIdCluster]

Reimplemented in hh::core::CoreGraph< GraphOutput, GraphInputs >.

Definition at line 122 of file core_node.h.

Here is the caller graph for this function:

◆ incrementExecutionDuration()

void hh::core::CoreNode::incrementExecutionDuration ( std::chrono::duration< uint64_t, std::micro > const &  exec)
inlineprotected

Increment execution duration.

Parameters
execDuration to add to the execution duration

Definition at line 565 of file core_node.h.

Here is the caller graph for this function:

◆ incrementWaitDuration()

void hh::core::CoreNode::incrementWaitDuration ( std::chrono::duration< uint64_t, std::micro > const &  wait)
inlineprotected

Increment wait duration.

Parameters
waitDuration to add to the wait duration

Definition at line 561 of file core_node.h.

Here is the caller graph for this function:

◆ incrementWaitForMemoryDuration()

void hh::core::CoreNode::incrementWaitForMemoryDuration ( std::chrono::duration< uint64_t, std::micro > const &  memoryWait)
inline

Add wait for memory duration to total duration.

Parameters
memoryWaitDuration to add to the memory duration

Definition at line 488 of file core_node.h.

◆ insideNodes() [1/2]

std::shared_ptr<std::multimap<CoreNode *, std::shared_ptr<CoreNode> > > const& hh::core::CoreNode::insideNodes ( ) const
inline

Inside node accessor.

Returns
Inside node

Definition at line 161 of file core_node.h.

Here is the caller graph for this function:

◆ insideNodes() [2/2]

std::shared_ptr<std::multimap<CoreNode *, std::shared_ptr<CoreNode> > >& hh::core::CoreNode::insideNodes ( )
inline

Inside nodes accessor.

Returns
Inside nodes

Definition at line 167 of file core_node.h.

◆ isActive() [1/2]

bool hh::core::CoreNode::isActive ( ) const
inline

Is active property accessor.

Returns
Is active property

Definition at line 191 of file core_node.h.

Here is the caller graph for this function:

◆ isActive() [2/2]

void hh::core::CoreNode::isActive ( bool  isActive)
inline

Is active property setter.

Parameters
isActiveIs active property

Definition at line 464 of file core_node.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ isCudaRelated() [1/2]

bool hh::core::CoreNode::isCudaRelated ( ) const
inline

Is related to CUDA, used to have a green background on the dot file.

Returns
True if CUDA related, else False

Definition at line 195 of file core_node.h.

Here is the caller graph for this function:

◆ isCudaRelated() [2/2]

void hh::core::CoreNode::isCudaRelated ( bool  isCudaRelated)
inline

Is CUDA related property setter.

Parameters
isCudaRelatedCUDA related property to set

Definition at line 468 of file core_node.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ isInCluster()

bool hh::core::CoreNode::isInCluster ( ) const
inline

In cluster property accessor.

Returns
In cluster property

Definition at line 187 of file core_node.h.

Here is the caller graph for this function:

◆ isInside() [1/2]

bool hh::core::CoreNode::isInside ( ) const
inline

Node inside property accessor.

Returns
Node inside property

Definition at line 136 of file core_node.h.

Here is the caller graph for this function:

◆ isInside() [2/2]

void hh::core::CoreNode::isInside ( bool  isInside)
inline

Set the node as being inside another one.

Parameters
isInsideTrue if the node is inside another one, else False

Definition at line 472 of file core_node.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ maxExecutionTime()

virtual std::chrono::duration<uint64_t, std::micro> hh::core::CoreNode::maxExecutionTime ( ) const
inlinevirtual

◆ maxWaitTime()

virtual std::chrono::duration<uint64_t, std::micro> hh::core::CoreNode::maxWaitTime ( ) const
inlinevirtual

◆ meanExecTimeCluster()

std::chrono::duration<uint64_t, std::micro> hh::core::CoreNode::meanExecTimeCluster ( ) const
inline

Compute and return the mean execution time for all tasks in the node cluster.

Returns
The mean execution time for all tasks in the node cluster

Definition at line 250 of file core_node.h.

◆ meanMemoryWaitTimeCluster()

std::chrono::duration<uint64_t, std::micro> hh::core::CoreNode::meanMemoryWaitTimeCluster ( ) const
inline

Compute and return the mean memory wait time for all tasks in the node cluster.

Returns
The mean memory wait time for all tasks in the node cluster

Definition at line 280 of file core_node.h.

◆ meanWaitTimeCluster()

std::chrono::duration<uint64_t, std::micro> hh::core::CoreNode::meanWaitTimeCluster ( ) const
inline

Compute and return the mean wait time for all tasks in the node cluster.

Returns
The mean wait time for all tasks in the node cluster

Definition at line 265 of file core_node.h.

◆ memoryWaitTime()

std::chrono::duration<uint64_t, std::micro> const& hh::core::CoreNode::memoryWaitTime ( ) const
inline

Memory wait time accessor.

Returns
Memory wait time

Definition at line 181 of file core_node.h.

◆ minExecutionTime()

virtual std::chrono::duration<uint64_t, std::micro> hh::core::CoreNode::minExecutionTime ( ) const
inlinevirtual

◆ minmaxExecTimeCluster()

std::pair<uint64_t, uint64_t> hh::core::CoreNode::minmaxExecTimeCluster ( ) const
inline

Compute and return the min and max execution time for all tasks in the node cluster.

Returns
The min and max execution wait time for all tasks in the node cluster

Definition at line 383 of file core_node.h.

◆ minmaxMemoryWaitTimeCluster()

std::pair<uint64_t, uint64_t> hh::core::CoreNode::minmaxMemoryWaitTimeCluster ( ) const
inline

Compute and return the min and max memory wait time for all tasks in the node cluster.

Returns
The min and max memory mean wait time for all tasks in the node cluster

Definition at line 363 of file core_node.h.

◆ minmaxWaitTimeCluster()

std::pair<uint64_t, uint64_t> hh::core::CoreNode::minmaxWaitTimeCluster ( ) const
inline

Compute and return the min and max wait time for all tasks in the node cluster.

Returns
The min and max mean wait time for all tasks in the node cluster

Definition at line 343 of file core_node.h.

◆ minWaitTime()

virtual std::chrono::duration<uint64_t, std::micro> hh::core::CoreNode::minWaitTime ( ) const
inlinevirtual

◆ name() [1/2]

std::string_view const& hh::core::CoreNode::name ( ) const
inline

Node name accessor.

Returns
Node name

Definition at line 128 of file core_node.h.

Here is the caller graph for this function:

◆ name() [2/2]

void hh::core::CoreNode::name ( std::string_view const &  name)
inline

Name node setter.

Parameters
nameName node to set

Definition at line 448 of file core_node.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ node()

◆ numberActiveThreadInCluster()

size_t hh::core::CoreNode::numberActiveThreadInCluster ( ) const
inline

Compute and return the number of active nodes in a cluster.

Returns
The number of active nodes in a cluster

Definition at line 404 of file core_node.h.

◆ numberThreads() [1/2]

size_t hh::core::CoreNode::numberThreads ( ) const
inline

Number of threads associated accessor.

Returns
Number of threads associated

Definition at line 152 of file core_node.h.

Here is the caller graph for this function:

◆ numberThreads() [2/2]

void hh::core::CoreNode::numberThreads ( size_t  numberThreads)
inline

Number of threads setter.

Parameters
numberThreadsNumber of threads

Definition at line 452 of file core_node.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ removeInsideNode()

void hh::core::CoreNode::removeInsideNode ( CoreNode coreNode)
inline

Remove a node from the registered inside nodes.

Parameters
coreNodeNode to remove from the inside nodes

Definition at line 529 of file core_node.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ startExecutionTimeStamp() [1/2]

std::chrono::time_point<std::chrono::high_resolution_clock> const& hh::core::CoreNode::startExecutionTimeStamp ( ) const
inline

Execution start timestamp accessor.

Returns
Execution start timestamp

Definition at line 233 of file core_node.h.

Here is the caller graph for this function:

◆ startExecutionTimeStamp() [2/2]

void hh::core::CoreNode::startExecutionTimeStamp ( std::chrono::time_point< std::chrono::high_resolution_clock > const &  startExecutionTimeStamp)
inline

Execution timestamp setter.

Parameters
startExecutionTimeStampExecution timestamp to set

Definition at line 424 of file core_node.h.

◆ stdvExecTimeCluster()

uint64_t hh::core::CoreNode::stdvExecTimeCluster ( ) const
inline

Compute and return the standard deviation execution time for all tasks in the node cluster.

Returns
The standard deviation execution time for all tasks in the node cluster

Definition at line 295 of file core_node.h.

◆ stdvMemoryWaitTimeCluster()

uint64_t hh::core::CoreNode::stdvMemoryWaitTimeCluster ( ) const
inline

Compute and return the standard deviation memory wait time for all tasks in the node cluster.

Returns
The standard deviation memory wait time for all tasks in the node cluster

Definition at line 327 of file core_node.h.

◆ stdvWaitTimeCluster()

uint64_t hh::core::CoreNode::stdvWaitTimeCluster ( ) const
inline

Compute and return the standard deviation wait time for all tasks in the node cluster.

Returns
The standard deviation wait time for all tasks in the node cluster

Definition at line 311 of file core_node.h.

◆ threadId() [1/2]

int hh::core::CoreNode::threadId ( ) const
inline

Thread id accessor.

Returns
Thread id

Definition at line 148 of file core_node.h.

Here is the caller graph for this function:

◆ threadId() [2/2]

void hh::core::CoreNode::threadId ( uint8_t  threadId)
inline

Set the thread id.

Parameters
threadIdThread id to set

Definition at line 440 of file core_node.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ type()

NodeType hh::core::CoreNode::type ( ) const
inline

Node type accessor.

Returns
Node type

Definition at line 132 of file core_node.h.

Here is the caller graph for this function:

◆ visit()

◆ waitTime()

std::chrono::duration<uint64_t, std::micro> const& hh::core::CoreNode::waitTime ( ) const
inline

Wait time accessor.

Returns
Wait time

Definition at line 177 of file core_node.h.


The documentation for this class was generated from the following file: