|
CoreFlow 1.0.0
A modern orchestration and execution runtime
|
#include <vx_node.h>
Public Member Functions | |
| Node (vx_context context, vx_reference scope) | |
| Construct a new Node object. | |
| ~Node () | |
| Destroy the Node object. | |
| void | setParameter (vx_uint32 index, vx_reference value) |
| Node parameter setter, no check. | |
| vx_status | setTarget (vx_enum target_enum, const char *target_string) |
| Set the target for the node. | |
| vx_size | localDataSize () const |
| Get the local data size of the node. | |
| vx_ptr_t | localDataPtr () const |
| Get the local data pointer of the node. | |
| vx_size | globalDataSize () const |
| Get the global data size of the node. | |
| vx_ptr_t | globalDataPtr () const |
| Get the global data pointer of the node. | |
| vx_border_t | border () const |
| Get the border mode of the node. | |
| vx_uint32 | numParams () const |
| Get the number of parameters of the node. | |
| vx_perf_t | performance () const |
| Get the performance of the node. | |
| vx_status | getStatus () const |
| Get the status of the node. | |
| vx_status | setCallbackFn (vx_nodecomplete_f callback) |
| Set the Node Callback Fn object. | |
| vx_bool | isReplicated () const |
| Is the node replicated? | |
| const vx_bool * | replicatedFlags () const |
| Get the replicated parameters flags. | |
| vx_enum | getState () const |
| Get the state of the node. | |
| vx_bool | validRectReset () const |
| Get the valid rectangle reset flag. | |
| cl_command_queue | clCommandQueue () const |
| Get the OpenCL command queue for the node. | |
| vx_nodecomplete_f | callbackFn () const |
| Get the callback function for the node. | |
| void | destruct () override final |
| Used to completely destroy a node. | |
| vx_status | removeNode () |
| Used to remove a node from a graph. | |
| vx_uint32 | refCount () const |
| Returns the reference count of the object. | |
| vx_enum | dataType () const |
| Returns the type of the reference. | |
| const vx_char * | refName () const |
| Returns the name of the reference. | |
| void | setName (const vx_char *name) |
| Sets the name of the reference. | |
| vx_uint32 | incrementReference (vx_reftype_e refType) |
| Increments the ref count. | |
| vx_uint32 | decrementReference (vx_reftype_e refType) |
| Decrements the ref count. | |
| vx_uint32 | totalReferenceCount () |
| Returns the total reference count of the object. | |
| void | initReferenceForDelay (vx_delay delay, vx_int32 index) |
| Used to initialize any vx_reference as a delay element. | |
Static Public Member Functions | |
| static vx_node | createNode (vx_graph graph, vx_kernel kernel) |
| Create a new node. | |
| static vx_node | createNode (vx_graph graph, vx_kernel kernel, std::initializer_list< vx_reference > params) |
| Create a new node with parameters. | |
| static vx_status | replicateNode (vx_graph graph, vx_node first_node, vx_bool *replicate, vx_uint32 number_of_parameters) |
| Replicate the node in the graph. | |
| static vx_status | setChildGraphOfNode (vx_node node, vx_graph graph) |
| Used to set the graph as a child of the node within another graph. | |
| static vx_graph | getChildGraphOfNode (vx_node node) |
| Retrieves the handle of the child graph, if it exists. | |
| static void | printNode (vx_node node) |
| Print node object. | |
| static vx_reference | createReference (vx_context context, vx_enum type, vx_reftype_e refType, vx_reference scope) |
| Used to create a reference. | |
| static void | printReference (vx_reference ref) |
| Prints the values of a reference. | |
| static vx_bool | isValidReference (vx_reference ref) |
| Used to validate everything but vx_context, vx_image and vx_buffer. | |
| static vx_bool | isValidReference (vx_reference ref, vx_enum type) |
| Used to validate everything but vx_context, vx_image and vx_buffer. | |
| static vx_size | sizeOfType (vx_enum type) |
| Returns the number of bytes in the internal structure for a given type. | |
| static vx_status | releaseReference (vx_reference *ref, vx_enum type, vx_reftype_e reftype, vx_destructor_f special_destructor) |
| Used to destroy a reference. | |
Public Attributes | |
| vx_kernel | kernel |
| The pointer to the kernel structure. | |
| vx_reference | parameters [VX_INT_MAX_PARAMS] |
| The list of references which are the values to pass to the kernels. | |
| vx_status | status |
| Status code returned from the last execution of the kernel. | |
| vx_perf_t | perf |
| The performance logging variable. | |
| vx_nodecomplete_f | callback |
| A callback to call when the node is complete. | |
| vx_bool | local_data_change_is_enabled |
| Enable to change read-only attributes (VX_NODE_LOCAL_DATA_SIZE, VX_NODE_LOCAL_DATA_PTR) for user-kernel initialization callback needs. | |
| vx_bool | local_data_set_by_implementation |
| Indicates that attributes (VX_NODE_LOCAL_DATA_SIZE, VX_NODE_LOCAL_DATA_PTR) were set by implementation, but not user-kernel initialization callback. | |
| vx_graph | graph |
| A back reference to the parent graph. | |
| vx_bool | visited |
| Used to keep track of visitation during execution and verification. | |
| vx_bool | executed |
| This is used to determine if the node has executed. | |
| vx_kernel_attr_t | attributes |
| The instance version of the attributes of the kernel. | |
| vx_uint32 | affinity |
| The index of the target to execute the kernel on. | |
| vx_graph | child |
| The child graph of the node. | |
| vx_cost_factors_t | costs |
| The node cost factors. | |
| vx_bool | is_replicated |
| The node replica flag. | |
| vx_bool | replicated_flags [VX_INT_MAX_PARAMS] |
| The replicated parameters flags. | |
| vx_node_state_e | state |
| The node state. | |
| struct _vx_platform * | platform |
| Platform for ICD compatibility. | |
| vx_uint32 | magic |
| Used to validate references, must be set to VX_MAGIC. | |
| vx_enum | type |
| Set to an enum value in vx_type_e. | |
| vx_context | context |
| Pointer to the top level context. If this reference is the context, this will be NULL. | |
| vx_reference | scope |
| The pointer to the object's scope parent. When virtual objects are scoped within a graph, this will point to that parent graph. This is left generic to allow future scoping variations. By default scope should be the same as context. | |
| vx_uint32 | external_count |
| The count of the number of users with this reference. When greater than 0, this can not be freed. When zero, the value can be considered inaccessible. | |
| vx_uint32 | internal_count |
| The count of the number of framework references. When greater than 0, this can not be freed. | |
| vx_uint32 | read_count |
| The number of times the object has been read (in some portion) | |
| vx_uint32 | write_count |
| The number of times the object has been written to (in some portion) | |
| vx_sem_t | lock |
| The reference lock which is used to protect access to "in-fly" data. | |
| void * | reserved |
| A reserved field which can be used to store anonymous data. | |
| vx_uint32 | index |
| A field which can be used to store a temporary, per-graph index. | |
| vx_bool | extracted |
| This indicates if the object was extracted from another object. | |
| vx_bool | is_virtual |
| This indicates if the object is virtual or not. | |
| vx_delay | delay |
| vx_int32 | delay_slot_index |
| vx_bool | is_accessible |
| This indicates that if the object is virtual whether it is accessible at the moment or not. | |
| vx_char | name [VX_MAX_REFERENCE_NAME] |
| The reference name. | |
| vx_uint32 coreflow::Node::affinity |
The index of the target to execute the kernel on.
| vx_kernel_attr_t coreflow::Node::attributes |
The instance version of the attributes of the kernel.
| vx_nodecomplete_f coreflow::Node::callback |
A callback to call when the node is complete.
| vx_graph coreflow::Node::child |
The child graph of the node.
|
inherited |
Pointer to the top level context. If this reference is the context, this will be NULL.
| vx_cost_factors_t coreflow::Node::costs |
The node cost factors.
|
inherited |
|
inherited |
| vx_bool coreflow::Node::executed |
This is used to determine if the node has executed.
|
inherited |
The count of the number of users with this reference. When greater than 0, this can not be freed. When zero, the value can be considered inaccessible.
|
inherited |
This indicates if the object was extracted from another object.
| vx_graph coreflow::Node::graph |
A back reference to the parent graph.
|
inherited |
A field which can be used to store a temporary, per-graph index.
|
inherited |
The count of the number of framework references. When greater than 0, this can not be freed.
|
inherited |
This indicates that if the object is virtual whether it is accessible at the moment or not.
| vx_bool coreflow::Node::is_replicated |
The node replica flag.
|
inherited |
This indicates if the object is virtual or not.
| vx_kernel coreflow::Node::kernel |
The pointer to the kernel structure.
| vx_bool coreflow::Node::local_data_change_is_enabled |
Enable to change read-only attributes (VX_NODE_LOCAL_DATA_SIZE, VX_NODE_LOCAL_DATA_PTR) for user-kernel initialization callback needs.
| vx_bool coreflow::Node::local_data_set_by_implementation |
Indicates that attributes (VX_NODE_LOCAL_DATA_SIZE, VX_NODE_LOCAL_DATA_PTR) were set by implementation, but not user-kernel initialization callback.
|
inherited |
The reference lock which is used to protect access to "in-fly" data.
|
inherited |
Used to validate references, must be set to VX_MAGIC.
|
inherited |
The reference name.
| vx_reference coreflow::Node::parameters[VX_INT_MAX_PARAMS] |
The list of references which are the values to pass to the kernels.
| vx_perf_t coreflow::Node::perf |
The performance logging variable.
|
inherited |
Platform for ICD compatibility.
|
inherited |
The number of times the object has been read (in some portion)
| vx_bool coreflow::Node::replicated_flags[VX_INT_MAX_PARAMS] |
The replicated parameters flags.
|
inherited |
A reserved field which can be used to store anonymous data.
|
inherited |
The pointer to the object's scope parent. When virtual objects are scoped within a graph, this will point to that parent graph. This is left generic to allow future scoping variations. By default scope should be the same as context.
| vx_node_state_e coreflow::Node::state |
The node state.
| vx_status coreflow::Node::status |
Status code returned from the last execution of the kernel.
| vx_bool coreflow::Node::visited |
Used to keep track of visitation during execution and verification.
|
inherited |
The number of times the object has been written to (in some portion)