CoreFlow 1.0.0
A modern orchestration and execution runtime
Loading...
Searching...
No Matches
Internal Graph API

The Internal Graph API. More...

Namespaces

namespace  coreflow
 The internal representation of a vx_array.
 

Functions

 coreflow::Graph::Graph (vx_context context, vx_reference scope)
 Construct a new Graph object.
 
static vx_graph coreflow::Graph::createGraph (vx_context context)
 Create a graph.
 
vx_perf_t coreflow::Graph::performance () const
 Get the graph performance.
 
vx_enum coreflow::Graph::getState () const
 Get the Graph state.
 
vx_uint32 coreflow::Graph::getNumNodes () const
 Get the number of nodes in the graph.
 
vx_uint32 coreflow::Graph::getNumParams () const
 Get the number of parameters of the graph.
 
vx_bool coreflow::Graph::isVerified ()
 Is graph verified.
 
vx_status coreflow::Graph::verify ()
 Verify the graph.
 
vx_status coreflow::Graph::schedule ()
 Schedule the graph.
 
vx_status coreflow::Graph::wait ()
 Wait on the graph to complete.
 
vx_status coreflow::Graph::process ()
 Process the graph.
 
vx_status coreflow::Graph::addParameter (vx_parameter param)
 Add a graph paramter.
 
vx_status coreflow::Graph::setParameterByIndex (vx_uint32 index, vx_reference value)
 Set the graph parameter by index.
 
vx_parameter coreflow::Graph::getParameterByIndex (vx_uint32 index)
 Get the parameter object by index.
 
vx_status coreflow::Graph::pipelineValidateRefsList (const vx_graph_parameter_queue_params_t graph_parameters_queue_param)
 Validate the graph parameters queue references list.
 
void coreflow::Graph::clearVisitation ()
 Clears visited flag.
 
void coreflow::Graph::clearExecution ()
 Clears execution flag.
 
vx_status coreflow::Graph::findNodesWithReference (vx_reference ref, vx_uint32 refnodes[], vx_uint32 *count, vx_enum reftype)
 Find nodes using this reference as input or output parameter. This function starts on the next node in the list and loops until we hit the original node again. Parse over the nodes in circular fashion.
 
void coreflow::Graph::findNextNodes (vx_uint32 last_nodes[VX_INT_MAX_REF], vx_uint32 numLast, vx_uint32 next_nodes[VX_INT_MAX_REF], vx_uint32 *numNext, vx_uint32 left_nodes[VX_INT_MAX_REF], vx_uint32 *numLeft)
 Given a set of last nodes, this function will determine the next set of nodes which are capable of being run. Nodes which are encountered but can't be run will be placed in the left nodes list.
 
void coreflow::Graph::destruct () override final
 Destruct function for the Graph object.
 

Detailed Description

The Internal Graph API.

Function Documentation

◆ addParameter()

vx_status coreflow::Graph::addParameter ( vx_parameter param)

#include <vx_graph.h>

Add a graph paramter.

Parameters
paramThe parameter to add to the graph.
Returns
vx_status VX_SUCCESS if successful, otherwise a status with error code.

◆ clearExecution()

void coreflow::Graph::clearExecution ( )

#include <vx_graph.h>

Clears execution flag.

◆ clearVisitation()

void coreflow::Graph::clearVisitation ( )

#include <vx_graph.h>

Clears visited flag.

◆ createGraph()

static vx_graph coreflow::Graph::createGraph ( vx_context context)
static

#include <vx_graph.h>

Create a graph.

Parameters
contextThe context associated with this graph
Returns
vx_graph The graph object

◆ destruct()

void coreflow::Graph::destruct ( )
finaloverridevirtual

#include <vx_graph.h>

Destruct function for the Graph object.

Reimplemented from coreflow::Reference.

◆ findNextNodes()

void coreflow::Graph::findNextNodes ( vx_uint32 last_nodes[VX_INT_MAX_REF],
vx_uint32 numLast,
vx_uint32 next_nodes[VX_INT_MAX_REF],
vx_uint32 * numNext,
vx_uint32 left_nodes[VX_INT_MAX_REF],
vx_uint32 * numLeft )

#include <vx_graph.h>

Given a set of last nodes, this function will determine the next set of nodes which are capable of being run. Nodes which are encountered but can't be run will be placed in the left nodes list.

Parameters
[in]last_nodesThe last list of nodes executed.
[in]numLastThe number of nodes in the last_nodes list which are valid.
[out]next_nodesThe list of nodes next to be executed.
[in]numNextThe number of nodes in the next_nodes list which are valid.
[out]left_nodesThe list of nodes which are next, but can't be executed.
[in]numLeftThe number of nodes in the left_nodes list which are valid.

◆ findNodesWithReference()

vx_status coreflow::Graph::findNodesWithReference ( vx_reference ref,
vx_uint32 refnodes[],
vx_uint32 * count,
vx_enum reftype )

#include <vx_graph.h>

Find nodes using this reference as input or output parameter. This function starts on the next node in the list and loops until we hit the original node again. Parse over the nodes in circular fashion.

Parameters
refThe reference to search for
refnodesThe nodes to search within
countCount of nodes found using ref
reftypeThe reference type
Returns
vx_status

◆ getNumNodes()

vx_uint32 coreflow::Graph::getNumNodes ( ) const

#include <vx_graph.h>

Get the number of nodes in the graph.

Returns
vx_uint32 The number of nodes in the graph

◆ getNumParams()

vx_uint32 coreflow::Graph::getNumParams ( ) const

#include <vx_graph.h>

Get the number of parameters of the graph.

Returns
vx_uint32 The number of graph parameters

◆ getParameterByIndex()

vx_parameter coreflow::Graph::getParameterByIndex ( vx_uint32 index)

#include <vx_graph.h>

Get the parameter object by index.

Parameters
indexThe graph parameter index
Returns
vx_parameter A valid parameter object on success

◆ getState()

vx_enum coreflow::Graph::getState ( ) const

#include <vx_graph.h>

Get the Graph state.

Returns
vx_enum The graph state

◆ Graph()

coreflow::Graph::Graph ( vx_context context,
vx_reference scope )

#include <vx_graph.h>

Construct a new Graph object.

Parameters
contextThe context associated with this graph
scopeParent reference of this graph

◆ isVerified()

vx_bool coreflow::Graph::isVerified ( )

#include <vx_graph.h>

Is graph verified.

Returns
vx_bool true if verified, false otherwise

◆ performance()

vx_perf_t coreflow::Graph::performance ( ) const

#include <vx_graph.h>

Get the graph performance.

Returns
vx_perf_t The performance structure

◆ pipelineValidateRefsList()

vx_status coreflow::Graph::pipelineValidateRefsList ( const vx_graph_parameter_queue_params_t graph_parameters_queue_param)

#include <vx_graph.h>

Validate the graph parameters queue references list.

Parameters
graph_parameters_queue_param
Returns
vx_status

◆ process()

vx_status coreflow::Graph::process ( )

#include <vx_graph.h>

Process the graph.

Returns
vx_status VX_SUCCESS if successful, otherwise return status with error code.

◆ schedule()

vx_status coreflow::Graph::schedule ( )

#include <vx_graph.h>

Schedule the graph.

Returns
vx_status VX_SUCCESS if successful, otherwise return status with error code.

◆ setParameterByIndex()

vx_status coreflow::Graph::setParameterByIndex ( vx_uint32 index,
vx_reference value )

#include <vx_graph.h>

Set the graph parameter by index.

Parameters
indexThe graph parameter index
valueThe reference to set
Returns
vx_status VX_SUCCESS on success, otherwise an error

◆ verify()

vx_status coreflow::Graph::verify ( )

#include <vx_graph.h>

Verify the graph.

Returns
vx_status VX_SUCCESS if successful, otherwise an return status with error code.

◆ wait()

vx_status coreflow::Graph::wait ( )

#include <vx_graph.h>

Wait on the graph to complete.

Returns
vx_status VX_SUCCESS if successful, otherwise return status with error code.