|
CoreFlow 1.0.0
A modern orchestration and execution runtime
|
The internal implementation header. More...
#include <cstdio>#include <cstdlib>#include <cstring>#include <cmath>#include <cstdarg>#include <ctime>#include <iostream>#include <thread>#include <VX/vx.h>#include <VX/vx_helper.h>#include <VX/vx_compatibility.h>#include <VX/vx_lib_extras.h>#include "vx_array.h"#include "vx_context.h"#include "vx_convolution.h"#include "vx_debug.h"#include "vx_delay.h"#include "vx_distribution.h"#include "vx_error.h"#include "vx_graph.h"#include "vx_image.h"#include "vx_import.h"#include "vx_kernel.h"#include "vx_log.h"#include "vx_lut.h"#include "vx_matrix.h"#include "vx_memory.h"#include "vx_meta_format.h"#include "vx_node.h"#include "vx_object_array.h"#include "vx_osal.h"#include "vx_parameter.h"#include "vx_pyramid.h"#include "vx_reference.h"#include "vx_remap.h"#include "vx_scalar.h"#include "vx_target.h"#include "vx_tensor.h"#include "vx_threshold.h"#include "vx_user_data_object.h"#include "vx_inlines.h"Classes | |
| struct | vx_value_set_t |
| The data object for queues. More... | |
| struct | vx_queue_t |
| The queue object. More... | |
| struct | vx_processor_t |
| The processor structure which contains the graph queue. More... | |
| struct | vx_threadpool_worker_t |
| The structure given to each threadpool worker during execution. More... | |
| struct | vx_threadpool_t |
| The threadpool tracking structure. More... | |
| struct | vx_work_t |
| The work item to distribute across the threadpools. More... | |
| struct | vx_signature_t |
| The internal representation of the attributes associated with a run-time parameter. More... | |
| struct | vx_kernel_attr_t |
| The kernel attributes structure. More... | |
| struct | vx_target_funcs_t |
| The structure which holds all the target interface function pointers. More... | |
| struct | vx_module_t |
| The tracking structure for a module. More... | |
| struct | vx_external_t |
| The framework's internal-external memory tracking structure. More... | |
| union | vx_memory_map_extra |
| struct | vx_memory_map_t |
| The framework's mapping memory tracking structure. More... | |
| struct | vx_cost_factors_t |
| A data structure used to track the various costs which could being optimized. More... | |
| struct | vx_memory_t |
| The raw definition of memory layout. More... | |
| struct | vx_delay_param_t |
| The internal representation of the delay parameters as a list. More... | |
| struct | vx_type_size_t |
Namespaces | |
| namespace | coreflow |
| The internal representation of a vx_array. | |
Macros | |
| #define | VX_MAX_TENSOR_DIMENSIONS 6 |
| #define | Q78_FIXED_POINT_POSITION 8 |
| #define | VX_INT_API |
| #define | dimof(x) |
| Get the dimensionality of the array. | |
| #define | VX_INT_MAX_PATH (256) |
| Maximum number of characters in a path string. | |
| #define | VX_MAX_TARGET_NAME (64) |
| Defines the maximum number of characters in a target string. | |
| #define | VX_MAX_STRUCT_NAME (64) |
| #define | VX_INT_MAX_NODES (256) |
| Maximum number of nodes in a graph. | |
| #define | VX_INT_MAX_REF (14336) |
| Maximum number of references in the context. | |
| #define | VX_INT_MAX_USER_STRUCTS (1024) |
| Maximum number of user defined structs/. | |
| #define | VX_INT_MAX_KERNELS (1024) |
| Maximum number of kernel in the context. | |
| #define | VX_INT_MAX_PARAMS (22) |
| Maximum number of parameters to a kernel. | |
| #define | VX_INT_MAX_MODULES (10) |
| Maximum number of loadable modules. | |
| #define | VX_INT_MAX_CONVOLUTION_DIM (15) |
| The largest convolution matrix the specification requires support for is 15x15. | |
| #define | VX_INT_MAX_NONLINEAR_DIM (9) |
| The largest nonlinear filter matrix the specification requires support for is 9x9. | |
| #define | VX_MAGIC (0xFACEC0DE) |
| A magic value to look for and set in references. | |
| #define | VX_INT_MAX_QUEUE_DEPTH (100002) |
| Maximum queue depth. | |
| #define | VX_INT_FOREVER (0xFFFFFFFF) |
| The value to use in event waiting which never returns. | |
| #define | VX_INT_HOST_CORES (std::thread::hardware_concurrency()) |
| The minimum khronos number of targets. | |
| #define | VX_OPTICALFLOWPYRLK_MAX_DIM (9) |
| The largest optical flow pyr LK window. | |
| #define | VX_TYPE_IS_IMAGE(type) |
| Used to determine is a type is an image. | |
| #define | VX_TYPE_IS_SCALAR(type) |
| Used to determine if a type is a scalar. | |
| #define | VX_TYPE_IS_SCALAR_WITH_SIZE(type) |
| Used to determine scalar with size. | |
| #define | VX_TYPE_IS_STRUCT(type) |
| Used to determine if a type is a struct. | |
| #define | VX_TYPE_IS_DATA_OBJECT(type) |
| Used to determine if a type is a data object. | |
| #define | VX_TYPE_IS_OBJECT(type) |
| Used to determine if a type is an object. | |
| #define | VX_CHECK_PARAM(ptr, size, type, align) |
| A parameter checker for size and alignment. | |
| #define | VX_CALLOC(type) |
| Convenience wrapper around calloc to cast it correctly. | |
| #define | VX_STRINGERIZE(x) |
| Helper to convert any data type to string. | |
| #define | VX_INLINE inline |
| #define | VX_FMT_TIME "%.3f" |
| #define | VX_MIN(a, b) |
| Min & Max helper macros. | |
| #define | VX_MAX(a, b) |
| #define | VX_BOOL_TO_STATUS(b) |
| Helper to extract vx_status from vx_bool. | |
| #define | VX_FMT_VALUE VX_FMT_SIZE |
| Used to print out the value of a value. | |
| #define | VX_INT_MAX_NUM_TARGETS (VX_TARGET_PRIORITY_MAX) |
| Defines the number of targets in the sample implementation. | |
| #define | VX_PLANE_MAX (4) |
| The maximum number of 2d planes an image may have. | |
| #define | VX_DEFAULT_THRESHOLD_FALSE_VALUE 0 |
| #define | VX_DEFAULT_THRESHOLD_TRUE_VALUE 255 |
| #define | VX_U1_THRESHOLD_FALSE_VALUE vx_false_e |
| #define | VX_U1_THRESHOLD_TRUE_VALUE vx_true_e |
| #define | VX_S16_THRESHOLD_FALSE_VALUE 0 |
| #define | VX_S16_THRESHOLD_TRUE_VALUE (-1) |
| #define | VX_U16_THRESHOLD_FALSE_VALUE 0 |
| #define | VX_U16_THRESHOLD_TRUE_VALUE 0xFFFF |
| #define | VX_S32_THRESHOLD_FALSE_VALUE 0 |
| #define | VX_S32_THRESHOLD_TRUE_VALUE (-1) |
| #define | VX_U32_THRESHOLD_FALSE_VALUE 0 |
| #define | VX_U32_THRESHOLD_TRUE_VALUE 0xFFFFFFFF |
Typedefs | |
| typedef void * | vx_ptr_t |
| A convenience typedef for void pointers. | |
| typedef vx_size | vx_value_t |
| A thread return value. | |
| typedef vx_value_t(* | vx_thread_f) (void *arg) |
| A thread function pointer. | |
| typedef void(* | vx_destructor_f) (vx_reference ref) |
| Used to destroy an object in a generic way. | |
| using | vx_target = coreflow::Target* |
| using | vx_error = coreflow::Error* |
| typedef vx_bool(* | vx_threadpool_f) (struct vx_threadpool_worker_t *worker) |
| The function pointer to the worker function. | |
| typedef vx_status(VX_CALLBACK * | vx_kernel_object_deinitialize_f) (vx_kernel nn_kernel) |
| The pointer to the kernel object deinitializer. | |
| 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. | |
| typedef vx_array | vx_lut_t |
| A LUT is a specific type of array. | |
Enumerations | |
| enum | vx_reftype_e { VX_INTERNAL = 1 , VX_EXTERNAL = 2 , VX_BOTH = 3 } |
| An internal enum for notating which sort of reference type we need. More... | |
| enum | vx_ext_target_type_e { VX_TYPE_TARGET = 0x816 } |
| 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... | |
| enum | vx_dim_e { VX_DIM_C = 0 , VX_DIM_X , VX_DIM_Y , VX_DIM_MAX } |
| The dimensions enumeration, also stride enumerations. More... | |
| enum | vx_bounds_e { VX_BOUND_START , VX_BOUND_END , VX_BOUND_MAX } |
| The bounds enumeration. More... | |
Functions | |
| VX_API_ENTRY vx_context VX_API_CALL | vxCreateContextFromPlatform (struct _vx_platform *platform) |
The internal implementation header.
| #define Q78_FIXED_POINT_POSITION 8 |
| #define VX_DEFAULT_THRESHOLD_FALSE_VALUE 0 |
| #define VX_DEFAULT_THRESHOLD_TRUE_VALUE 255 |
| #define VX_FMT_TIME "%.3f" |
| #define VX_FMT_VALUE VX_FMT_SIZE |
Used to print out the value of a value.
| #define VX_INLINE inline |
| #define VX_INT_API |
| #define VX_MAX | ( | a, | |
| b ) |
| #define VX_MAX_STRUCT_NAME (64) |
| #define VX_MAX_TENSOR_DIMENSIONS 6 |
| #define VX_S16_THRESHOLD_FALSE_VALUE 0 |
| #define VX_S16_THRESHOLD_TRUE_VALUE (-1) |
| #define VX_S32_THRESHOLD_FALSE_VALUE 0 |
| #define VX_S32_THRESHOLD_TRUE_VALUE (-1) |
| #define VX_U16_THRESHOLD_FALSE_VALUE 0 |
| #define VX_U16_THRESHOLD_TRUE_VALUE 0xFFFF |
| #define VX_U1_THRESHOLD_FALSE_VALUE vx_false_e |
| #define VX_U1_THRESHOLD_TRUE_VALUE vx_true_e |
| #define VX_U32_THRESHOLD_FALSE_VALUE 0 |
| #define VX_U32_THRESHOLD_TRUE_VALUE 0xFFFFFFFF |
| using vx_error = coreflow::Error* |
| typedef vx_status(VX_CALLBACK * vx_kernel_object_deinitialize_f) (vx_kernel nn_kernel) |
The pointer to the kernel object deinitializer.
| [in] | nn_kernel | object local ptr. |
| using vx_target = coreflow::Target* |
| enum vx_ext_target_type_e |
| VX_API_ENTRY vx_context VX_API_CALL vxCreateContextFromPlatform | ( | struct _vx_platform * | platform | ) |