TIOVX Release Notes

Version: 01.02.00.00


Contents

  1. Introduction
  2. Licensing
  3. Getting Started
  4. Documentation
  5. What's New
  6. Upgrade and Compatibility Information
  7. Device Support
  8. Validation Information
  9. Fixed Issues
  10. Known Issues
  11. Technical Support
  12. Package Versioning


Introduction

The TIOVX package consists of the Texas Instruments OpenVX conformant implementation for J7 Pre-Silicon platform


Licensing

The licensing information of this library, as well as any third-party components included which are made available under a number of other open-source licenses are enumerated as part of the manifest. A complete manifest along with export control information is detailed here [HTML].


Getting Started

The TIOVX User Guide [HTML] provides the documentation and references necessary to begin development on TI's platforms using TIOVX.


Documentation

Refer to following documentation for further details:

TIOVX User Guide Build instructions, API Guide [HTML]
TIOVX User Guide for J7 PreSi Build instructions, additional information related to J7 Pre Si platform [HTML]
TIOVX Tutorial Guide Step by step tutorials to get started with OpenVX and TIOVX [HTML]
PyTIOVX User Guide OpenVX application code generator tool [HTML]
Test Reports Misra C reports, conformance test reports, TI platform test reports [FOLDER]
Software Manifest Licenses, terms of use [HTML]


What's New

Here are a few of the new features supported in this release:

  1. [TIOVX-71] - Graph Pipe and Stream: Framework shall support graph pipelining
  2. [TIOVX-77] - Graph Pipe and Stream: Framework shall support event handling
  3. [TIOVX-78] - Graph Pipe and Stream: TIOVX package shall include sample use case demonstrating graph pipeling with OpenVX nodes on DSP1 and DSP2
  4. [TIOVX-90] - Graph Pipe and Stream: Framework shall ensure functional correctness even in cases where delay objects introduce loop carried dependencies
  5. [TIOVX-94] - Documentation: User must not be allowed to call vxSetImageValidRectangle after verifying the graph
  6. [TIOVX-137] - Graphs with nodes spread across different targets in a parallel structure shall be supported
  7. [TIOVX-144] - Framework shall support vxReplicateNode as per the 1.1 OpenVX specification
  8. [TIOVX-145] - One or more user kernel nodes cascaded in a graph shall be supported
  9. [TIOVX-161] - PyTIOVX: TIOVX package shall provide a tool to generate skeleton kernel files from Python kernel description
  10. [TIOVX-210] - Framework shall support TI extension image data type TIVX_DF_IMAGE_P12 (packed 12 bit)
  11. [TIOVX-255] - Framework shall support mechanism to report to the user max values of statically allocated counts of objects used at that point in time
  12. [TIOVX-256] - Framework shall support importing a TIDL network as a kernel in a graph
  13. [TIOVX-264] - Map functions shall optionally perform cache maintenance operations based on memory type (DMA or CPU access)
  14. [TIOVX-288] - Add support for vx_tensor object


Upgrade and Compatibility Information

File Change description User application change required User application recompile required
include\TI\tivx.h Added new APIs for reporting/exporting/querying static resource usage: tivxQueryResourceStats, tivxPrintAllResourceStats, tivxExportAllResourceMaxUsedValueToFile NO NO
include\TI\tivx.h Added new APIs for performance reporting and pipelining support: tivxPlatformGetTimeInUsecs, tivxExportGraphToDot, tivxLogRtTrace, tivxSetNodeParameterNumBufByIndex, tivxSetGraphPipelineDepth NO NO
include\TI\tivx.h Added new color format TI extension: TIVX_DF_IMAGE_P12 NO NO
include\TI\tivx_config.h Added this new file for user to customize the static resource max values NO YES
include\TI\tivx_mem.h Added TIVX_MEMORY_TYPE_DMA memory type enum
Removed target_ptr from shared memory ptr structure in tivx_shared_mem_ptr_t
Changed name of mem_type to mem_heap_region in tivx_shared_mem_ptr_t
YES YES
include\TI\tivx_obj_desc.h Added several new object descriptor types related to tensors, queues, graphs NO YES
include\TI\tivx_tensor.h Added new APIs for supporting a subset of OpenVX 1.2 tensor object NO NO
include\VX/vx_khr_pipelining.h Added new khronos extension header file for supporting pipelining NO NO


Device Support

SoC HOST (OS) Target (OS) Test Plaform
J7 PreSi x86_64 (Linux) x86_64 (Linux) x86_64 Linux PC

Validation Information

This release was built and validated using the following tools:

Build Tools (included in Processor SDK RTOS Automotive):

Dependencies (included in Processor SDK RTOS Automotive):

Dependencies (NOT included in Processor SDK RTOS Automotive):

Refer user guide [HTML] for instructions to install and setup above dependancies.

Fixed Issues

  1. [TIOVX-217] - The delete function outputted by the PyTIOVX use case generation tool fails
  2. [TIOVX-239] - Remove cache maintenance operations from BAM buffers
  3. [TIOVX-260] - Nested calls to vxMapArrayRange() need to be handled properly
  4. [TIOVX-262] - Graph Verify does not check for maximum number of leaf or head nodes
  5. [TIOVX-265] - Laplacian Reconstruct input parameter improperly set as output
  6. [TIOVX-280] - Virtual pyramid creation for orb scale does not honor max levels
  7. [TIOVX-281] - Map array range does not return error when max maps is exceeded
  8. [TIOVX-289] - Nested calls to vxMapImagePatch() need to be handled properly


Known Issues

  1. VXLIB-371: Multiply iS16 iS16 oS16 with 1/255 as scaling factor fails for X86 target
  2. TIOVX-24: Some Harris Corners test cases fails for when running entire test suite
  3. TIOVX-148: Performance numbers errors. There are some kernels that have graph performance faster than node performance.
  4. TIOVX-155: Test case failures on TDA2 without BAM for Harris Corner test
  5. TIOVX-164: In x86_64, some replicate with Pyramid testcases fail
  6. TIOVX-207: tivxMaxNodes test case is failing in x86_64 PC emulation


Technical Support

For technical support and additional assistance, contact local TI Field Application Engineer


Package Versioning

Each package version is composed of 4 period-delimited numbers - represented here by the letters M, m, p and b [M.m.p.b]. The table below provides a descriptive reference regarding package version numbering.

Digit Meaning Description
1 (M=Major) Major revision Incremented when the new version is substantially different from the previous For example, a new module added or an existing module's algorithm significantly altered.
2 (m=minor) Minor revision Incremented when the new version has changed but not in a major way. For example, some minor changes in the API or feature set.
3 (p=patch) Patch number Incremented for all other source code changes. This include any packaging support code.
4 (b=build) Build number Incremented for each release delivery to CM. Reset for any change to M, m or p


Copyright 2018, Texas Instruments Incorporated