• 04/03/2020
  • Public Content
Contents

Mandatory Callbacks for Kernels Supporting Advanced Tiling

Registering an advanced tiling kernel requires defining and specifying the following callback functions for the
vxAddAdvancedTilingKernelIntel
:
  • Inputs and output validation function. It is called during
    vxVerifyGraph
    to validate every input and output parameter (defined by the index):
    typedef vx_status (*vx_kernel_validate_f) (vx_node node, const vx_reference parameters[], vx_uint32 num, vx_meta_format metas[]);
    This function is a regular callback required for all any user kernel as defined by the OpenVX* 1.1 specification.
  • Advanced Tiling Kernel function. This function is called for each tile contained within the output image, during graph execution.
    typedef vx_status (*vx_advanced_tiling_kernel_intel_f)(vx_node node, void * parameters[], vx_uint32 num, void *tile_memory, vx_size tile_memory_size);
  • Tile-Mapping function, which describes dependencies between an output and input tiles during graph verification within
    vxVerifyGraph
    . The purpose of this function is to set attributes to the input tile (
    srcRectOut
    ), required to produce the given output tile (
    dstRectIn
    ), passed as a
    const
    parameter to the tile-mapping function).
    If the kernel has multiple
    vx_image
    input parameters, this tile mapping function will be called separately for each input. The
    param_num
    parameter specifies which input parameter index that the runtime is requesting a tile mapping for.
    typedef vx_status (*vx_mapping_intel_f) (vx_node node, vx_reference parameters[], const vx_tile_t_attributes_intel_t* dstRectIn, vx_tile_t_attributes_intel_t* srcRectOut,vx_uint32 param_num);
Refer to the Putting it all Together: Example Code topic for a code example of tiled kernels.

Product and Performance Information

1

Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.

Notice revision #20110804