TI对OpenVX标准的实现-TIOVX

news/发布时间2024/5/19 18:23:36

TIOVX是TI对OpenVX标准的实现

TIOVX允许用户使用OpenVX API创建视觉和计算应用程序。这些OpenVX应用程序可以在TDA2x、TDA3x和TDA4x等TI SoC上执行。TIOVX完全符合OpenVX v1.1规范。TIOVX还为C66x DSP提供了优化的OpenVX内核。扩展API允许用户集成自主开发的自定义内核,并使用OpenVX API调用它们。作为处理器SDK Vision的一部分,还提供了显示TIOVX作为更大系统的一部分使用的示例,例如,相机输入和显示输出。

TIOVX的顶级框图如下所示。

 

TIOVX框图

该图的组件描述如下

TIOVX Module

Description

Khronos Conformance Test

OpenVX conformance test from Khronos to make sure an implementation implements OpenVX according to specification

TI Extension Conformance Test

Additional test cases from TI to test TI extention interfaces

OpenVX API

OpenVX API as defined by Khronos

TIOVX API

TI extensions and additional APIs in order to efficiently use OpenVX on TI platforms

TIOVX Framework

TI's implementation of OpenVX spec. This layer is agnostic of underlying SoC, OS platform

TIOVX Platform

This layer binds TIOVX framework to a specific platform. Ex, Processor SDK platform for TDA4x SOCs. This layer also binds TIOVX framework to a specific OS like Linux or TI-RTOS.

TIOVX Kernel Wrapper

Kernel wrappers allow TI and customers to integrate a natively implemented kernel into the TIOVX framework.

Examples

These are examples which show usage of TIOVX with other system level compoenents. These are not included in TIOVX package. Users should refer to SDK for these examples.

User Kernels / Target Kernels

User kernels is an interface to integrate user kernels on HOST CPU using standard Khronos OpenVX APIs. Target kernels is a TI specific interface to integrate user kernels on target CPU like DSP


Directory Structure

The following describes the contents of the package.

Folder

Desc

conformance_tests/kernels

Kernels added only for test purposes (to test target kernel APIs)

conformance_tests/test_conformance

Khronos OpenVX conformance test

conformance_tests/test_engine

conformance_tests/test_data

Data files used for Khronos Conformance test, TI test suite, and tutorial input data files

conformance_tests/test_executable

Khronos OpenVX conformance test executable (PC HOST emulation mode only)

conformance_tests/test_tiovx

Additional test cases for Khronos OpenVX APIs and TI extention APIs

docs

User documentation

include/VX

Khronos OpenVX interface

include/TI

TI OpenVX extension interface

kernels/openvx-core

OpenVX defined kernels

kernels*

TI vendor-specific kernels, including unit test for the kernels

source/framework

TI OpenVX implementation

source/include

source/vxu

source/platform

TI OpenVX platform adaptation layer

tools

OpenVX use case and kernel wrapper code generation tool

tutorial

TI OpenVX tutorials

utils

Helpful utilities like image readers

out

Build generated files and executables

lib

Pre-built dependency libraries (PC) and tiovx libraries copied from out folder at end of build

Note: since the 8.6 release the below folders have been moved to the following locations:

8.6 Location

9.0 (and beyond) Location

tiovx/concerto

sdk_builder/concerto

tiovx/kernels_j7/hwa

imaging/kernels/hwa

tiovx/kernels_j7/tidl

c7x-mma-tidl/arm-tidl/tiovx_kernels/tidl

Build Option

Description

Default Setting

PROFILE

Determines which profile to build for
Valid values are:
release, debug, all

all

BUILD_EMULATION_MODE

Builds PC emulation mode

yes

BUILD_EMULATION_ARCH

PC emulation architecture.
Valid values are: X86 x86_64 all

x86_64

BUILD_TARGET_MODE

Builds for target SoC platform like TDAxx

yes

BUILD_CONFORMANCE_TEST

Builds entire test suite executable

yes

BUILD_IVISION_KERNELS

Builds iVision kernels (EVE_SW_PATH required to be set for this build)

no

BUILD_BAM

Builds DMA wrapper (DMAUTILS_PATH and ALGFRAMEWORK_PATH required to beset for this build)

no

BUILD_TUTORIAL

Builds OpenVX tutorial

yes

BUILD_LINUX_MPU

Builds for A72 Linux target (NOT used in PC HOST emulation mode

yes

BUILD_EVE

Builds for EVE platform (ARP32CGT_ROOT and EVE_SW_PATH required to beset for this build)

no

BUILD_SDK

Builds for SDK SW platform
Valid values are,
psdkra for Processor SDK RTOS J7 platform

psdkra

BUILD_IGNORE_LIB_ORDER

When set to yes, it ignores the static library order listed inmakefiles when building on the PC.

yes

BUILD_CT_KHR

Builds and includes the Khronos OpenVX 1.1 conformance tests suite.

yes

BUILD_CT_TIOVX

Builds and includes the TI-added tests suite (for TI extensions andadditional rohbustness testing).

yes

BUILD_CT_TIOVX_TEST_KERNELS

Builds and includes the TI-added tests suite (for testing custom kernelinterface).

yes

BUILD_CT_TIOVX_IVISION

Builds and includes the tests for IVISION kernels test suite.

no

BUILD_CT_TIOVX_TIDL

Builds and includes the tests for TIDL kernel test suite.

yes

BUILD_CT_TIOVX_HWA

Builds and includes the tests for HWA kernels test suite.

yes

BUILD_CT_TIOVX_HWA_NEGATIVE_TESTS

Builds and includes a large set of negative tests for HWA kernels

yes

BUILD_CT_TIOVX_HWA_DISPLAY_TESTS

Builds and includes display test cases
Note: in order to run on J7 platform, a display must be connected

no

BUILD_CT_TIOVX_HWA_CAPTURE_TESTS

Builds and includes a large set of negative tests for HWA kernels
Note: in order to run on J7 platform, 4 IMX390 cameras must be connected to aFusion board which is connected to the EVM

no

BUILD_CT_TIOVX_HWA_CSITX_TESTS

Builds and includes csitx test cases
Note: in order to run on J7 platform, the following setup is required:

  • EVM Board Configuration: Bydefault DPHY is connected to FPD Panel (DSI-TX), it has to be changed toDSI FPC(CSI-TX).
  • J7X LI(Leopard Imaging) SerialCapture Board
  • FPC Cable: Connect Csitx toCsirx.

This test uses CSIRX to receive the data transmittedby CSITX, hence lane speed for both modules should be same. This testsconfgiures the CSITX lane speed to 800 Mbps.

no


Kernel

C66x 1

C66x 2

HWA

PCEmulation Support

AbsoluteDifference

Cache

Cache

 

Yes

Accumulate

Cache

Cache

 

Yes

AccumulateSquared

Cache

Cache

 

Yes

AccumulateWeighted

Cache

Cache

 

Yes

ArithmeticAddition

Cache

Cache

 

Yes

ArithmeticSubtraction

Cache

Cache

 

Yes

Bitwise AND

Cache

Cache

 

Yes

BitwiseEXCLUSIVE OR

Cache

Cache

 

Yes

BitwiseINCLUSIVE OR

Cache

Cache

 

Yes

Bitwise NOT

Cache

Cache

 

Yes

Box Filter

Cache

Cache

 

Yes

Canny EdgeDetector

Cache

Cache

 

Yes

ChannelCombine

Cache

Cache

 

Yes

ChannelExtract

Cache

Cache

 

Yes

Color Convert

Cache

Cache

 

Yes

Convert Bitdepth

Cache

Cache

 

Yes

CustomConvolution

Cache

Cache

 

Yes

Dilate Image

Cache

Cache

 

Yes

EqualizeHistogram

Cache

Cache

 

Yes

Erode Image

Cache

Cache

 

Yes

Fast Corners

Cache

Cache

 

Yes

GaussianFilter

Cache

Cache

 

Yes

Non LinearFilter

Cache

Cache

 

Yes

Harris Corners

Cache

Cache

 

Yes

Histogram

Cache

Cache

 

Yes

Gaussian ImagePyramid

Cache

Cache

VPAC_MSC*

Yes

LaplacianImage Pyramid

Cache

Cache

 

Yes

Reconstructionfrom a Laplacian Image Pyramid

Cache

Cache

 

Yes

Integral Image

Cache

Cache

 

Yes

Magnitude

Cache

Cache

 

Yes

Mean andStandard Deviation

Cache

Cache

 

Yes

Median Filter

Cache

Cache

 

Yes

Min, MaxLocation

Cache

Cache

 

Yes

Optical FlowPyramid (LK)

Cache

Cache

 

Yes

Phase

Cache

Cache

 

Yes

Pixel-wiseMultiplication

Cache

Cache

 

Yes

Remap

Cache

Cache

 

Yes

Scale Image

Cache

Cache

VPAC_MSC*

Yes

Sobel 3x3

Cache

Cache

 

Yes

TableLookup

Cache

Cache

 

Yes

Thresholding

Cache

Cache

 

Yes

Warp Affine

Cache

Cache

 

Yes

WarpPerspective

Cache

Cache

 

Yes

  • Subset of configuration options and or accuracytradeoff to speed is to be considered for this HWA implementation.

TI Extension Kernels

Note: the below node implementation locations have changed from the 8.6 to 9.0 releases. The new locations can be referenced in Directory Structure document.

Kernel

Target

PCEmulation Support

tivxCaptureNode

CSIRX

No

tivxDisplayNode

DSS

No

tivxTIDLNode

C7x + MMA

Yes

tivxVpacVissNode

VPAC_VISS

Yes

tivxVpacLdcNode

VPAC_LDC

Yes

tivxVpacNfGenericNode

VPAC_NF

Yes

tivxVpacNfBilateralNode

VPAC_NF

Yes

tivxVpacMscScaleNode

VPAC_MSC

Yes

tivxVpacMscPyramidNode

VPAC_MSC

Yes

tivxDmpacSdeNode

DMPAC_SDE

Yes

tivxDmpacDofNode

DMPAC_DOF

Yes

tivxCsitxNode

CSITX

No

tivxDisplayM2MNode

DSS

No

 

 

参考文献链接

https://software-dl.ti.com/jacinto7/esd/processor-sdk-rtos-jacinto7/latest/exports/docs/tiovx/docs/user_guide/index.html

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ulsteruni.cn/article/87243135.html

如若内容造成侵权/违法违规/事实不符,请联系编程大学网进行投诉反馈email:xxxxxxxx@qq.com,一经查实,立即删除!

相关文章

沟通技巧

第一步:搞定情绪 充分表达尊重,(不吝赞美,如何夸奖别人?从细节和对比可以发现) 夸人的时候不要太笼统,如:你穿的真好看和今天 上衣显的你很白,太美了。。 显然后面这一句显得更加的真诚 找不到细节就用对比,你穿的真好看,比一般人有气质多了。 对比找不到,就直接夸…

如何根据二叉树遍历结果快速绘制二叉树

一、已知前序遍历和中序遍历 (1)前序遍历(根结点--->左子树--->右子树) A B D G H C E I F (2)中序遍历(左子树--->根结点--->右子树) G D H B A E I C F注意:在最后连接二叉树时,注意先完玩左子树,再连右子树 二、已知前后序遍历和中序遍…

ctf_web

ctfshow web13 访问题目链接一看是一道文件上传题,上传文件进行测试 上传php会显示 error suffix 因此推测会检测格式 当文件字数超出一定字数时,显示 error file zise 常规操作就是访问 .php.bak 、.phps 、.swp等文件,看看有没有源码泄露 这道题访问 upload.php.bak 成功获…

02_Modbus的功能码与报文详解

Modbus协议类型 Modbus从站四张表类型 主站常用功能码 Modbus TCP请求报文,功能码03Modbus TCP应答报文,功能码03 00 17为23个字节:请求长度加应答长度06+17=23; 14为20长度:14+06=20Modbus UDP请求报文,功能码03Modbus UDP应答报文,功能码03 Modbus RTU请求报文,功能…

https加密机制

参考:https://www.cnblogs.com/sxiszero/p/11133747.html 对称加密:只用一个秘钥的加解密,如果秘钥进行了泄漏,导致数据不安全 非对称加密:非对称加密算法需要一组密钥对,分别是公钥和私钥,这两个密钥是成对出现的。公钥加密的内容需要对应的私钥解密,私钥加密的内容需…

Docker-DevOps-入门手册(全)

Docker DevOps 入门手册(全)原文:zh.annas-archive.org/md5/A074DB026A63DFD63D361454222593A5 译者:飞龙 协议:CC BY-NC-SA 4.0前言 Docker 与 DevOps 概述了容器化的强大力量以及这种创新对开发团队和一般运营的影响。我们还将了解 DevOps 的真正含义,涉及的原则,以及…