CoreFlow 1.0.0
A modern orchestration and execution runtime
|
The Internal Target API. More...
Namespaces | |
namespace | coreflow |
The internal representation of a vx_array. | |
Classes | |
struct | vx_target_funcs_t |
The structure which holds all the target interface function pointers. More... | |
Macros | |
#define | VX_INT_MAX_NUM_TARGETS (VX_TARGET_PRIORITY_MAX) |
Defines the number of targets in the sample implementation. | |
Typedefs | |
typedef vx_status(* | vx_target_init_f) (vx_target target) |
The function which initializes the target. | |
typedef vx_status(* | vx_target_deinit_f) (vx_target target) |
The function which deinitializes the target. | |
typedef vx_status(* | vx_target_supports_f) (vx_target target, vx_char targetName[VX_MAX_TARGET_NAME], vx_char kernelName[VX_MAX_TARGET_NAME], vx_uint32 *pIndex) |
Allows OpenVX to query a target to see if it supports an additional abstract target type like "khronos.automatic" or "khronos.low_power" on a specific kernel. | |
typedef vx_action(* | vx_target_process_f) (vx_target target, vx_node nodes[], vx_size startIndex, vx_size numNodes) |
Processes the array of nodes supplied. | |
typedef vx_status(* | vx_target_verify_f) (vx_target target, vx_node node) |
Verifies the array of nodes supplied for target specific information. | |
typedef vx_kernel(* | vx_target_addkernel_f) (vx_target target, const vx_char name[VX_MAX_KERNEL_NAME], vx_enum enumeration, vx_kernel_f func_ptr, vx_uint32 num_parameters, vx_kernel_validate_f validate, vx_kernel_input_validate_f input, vx_kernel_output_validate_f output, vx_kernel_initialize_f initialize, vx_kernel_deinitialize_f deinitialize) |
Adds a kernel to a target. | |
Enumerations | |
enum | vx_target_priority_e { VX_TARGET_PRIORITY_C_MODEL , VX_TARGET_PRIORITY_ORT , VX_TARGET_PRIORITY_MAX = 10 } |
The priority list of targets. More... | |
Functions | |
vx_status | coreflow::Context::loadTarget (const vx_char *targetName) |
This allows the implementation to load a target interface into OpenVX. | |
vx_status | coreflow::Context::unloadTarget (const vx_char *targetName) |
This unloads a specific target in the targets list. | |
vx_status | coreflow::Context::unloadTarget (vx_uint32 index, vx_bool unload_module) |
This unloads a specific target in the targets list. | |
coreflow::Target::Target (vx_context context, vx_reference scope) | |
Construct a new Target object. | |
coreflow::Target::~Target ()=default | |
Destroy the Target object. | |
static void | coreflow::Target::printTarget (vx_target target, vx_uint32 index) |
Prints Target Information for Debugging. | |
static vx_bool | coreflow::Target::matchTargetNameWithString (const vx_char *target_name, const vx_char *target_string) |
Match target name with specified target string. | |
static const vx_char * | coreflow::Target::reverse_strstr (const vx_char *string, const vx_char *substr) |
Find the last occurrence of a substring in a string. | |
vx_status | coreflow::Target::initializeTarget (vx_kernel_description_t *kernels[], vx_uint32 numkernels) |
Initializes a target's kernels list. | |
vx_status | coreflow::Target::deinitializeTarget () |
Deinitializes a target's kernels list. | |
vx_uint32 | coreflow::Target::findTargetIndex () |
Find target's index within context. | |
vx_kernel | coreflow::Target::findKernelByEnum (vx_enum enumeration) |
Find kernel belonging to this target module by enum. | |
The Internal Target API.
#define VX_INT_MAX_NUM_TARGETS (VX_TARGET_PRIORITY_MAX) |
#include <vx_internal.h>
Defines the number of targets in the sample implementation.
typedef vx_kernel(* vx_target_addkernel_f) (vx_target target, const vx_char name[VX_MAX_KERNEL_NAME], vx_enum enumeration, vx_kernel_f func_ptr, vx_uint32 num_parameters, vx_kernel_validate_f validate, vx_kernel_input_validate_f input, vx_kernel_output_validate_f output, vx_kernel_initialize_f initialize, vx_kernel_deinitialize_f deinitialize) |
#include <vx_internal.h>
Adds a kernel to a target.
[in] | target | The target object. |
[in] | name | |
[in] | enumeration | |
[in] | func_ptr | |
[in] | num_parameters | |
[in] | validate | |
[in] | input | |
[in] | output | |
[in] | initialize | |
[in] | deinitialize |
#include <vx_internal.h>
The function which deinitializes the target.
[in] | target | The pointer to the target context. |
#include <vx_internal.h>
The function which initializes the target.
[in] | target | The pointer to the target context. |
typedef vx_action(* vx_target_process_f) (vx_target target, vx_node nodes[], vx_size startIndex, vx_size numNodes) |
#include <vx_internal.h>
Processes the array of nodes supplied.
[in] | target | The pointer to the target context. |
[in] | nodes | The array of nodes pointers. |
[in] | startIndex | The beginning index to process |
[in] | numNodes | The number of nodes to process from startIndex. |
typedef vx_status(* vx_target_supports_f) (vx_target target, vx_char targetName[VX_MAX_TARGET_NAME], vx_char kernelName[VX_MAX_TARGET_NAME], vx_uint32 *pIndex) |
#include <vx_internal.h>
Allows OpenVX to query a target to see if it supports an additional abstract target type like "khronos.automatic" or "khronos.low_power" on a specific kernel.
[in] | target | The pointer to the target context. |
[in] | targetName | The name of the abstract target. |
[in] | kernelName | The name of the kernel. |
[out] | pIndex | The pointer to the index of the kernel in the target's list if the kernel is supported (the function will return VX_SUCCESS). |
vx_status_e
enumeration VX_SUCCESS | The kernel is supported and the pIndex has been set. |
VX_ERROR_NOT_SUPPORTED | the kernel is not supported as stated. |
#include <vx_internal.h>
Verifies the array of nodes supplied for target specific information.
[in] | target | The pointer to the target context. |
[in] | node | The node to verify. |
enum vx_target_priority_e |
#include <vx_internal.h>
The priority list of targets.
vx_status coreflow::Target::deinitializeTarget | ( | ) |
#include <vx_target.h>
Deinitializes a target's kernels list.
#include <vx_target.h>
Find kernel belonging to this target module by enum.
enumeration | enum of kernel to search for |
vx_uint32 coreflow::Target::findTargetIndex | ( | ) |
vx_status coreflow::Target::initializeTarget | ( | vx_kernel_description_t * | kernels[], |
vx_uint32 | numkernels ) |
#include <vx_target.h>
Initializes a target's kernels list.
[in] | kernels | The array of kernels that the target supports. |
[in] | numkernels | The length of the kernels list. |
#include <vx_context.h>
This allows the implementation to load a target interface into OpenVX.
[in] | targetName | The shortened name of the target module. |
|
static |
#include <vx_target.h>
Match target name with specified target string.
[in] | target_name | The target name string. |
[in] | target_string | The target string. |
vx_true_e | If string matches, vx_false_e if not. |
#include <vx_target.h>
Prints Target Information for Debugging.
|
static |
#include <vx_target.h>
Find the last occurrence of a substring in a string.
string | The string to search in. |
substr | The substring to search for. |
coreflow::Target::Target | ( | vx_context | context, |
vx_reference | scope ) |
#include <vx_target.h>
Construct a new Target object.
context | The context associated with this obj |
scope | The parent ref of this obj |
#include <vx_context.h>
This unloads a specific target in the targets list.
[in] | targetName | The string name of the target module. |
#include <vx_context.h>
This unloads a specific target in the targets list.
[in] | index | The index into the context's target array. |
[in] | unload_module | If true, the module will be unloaded. |
|
default |
#include <vx_target.h>
Destroy the Target object.