TI对OpenVX标准的实现-TIOVX

news/2024/10/7 2:17:44

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.ryyt.cn/news/28374.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

第十章——UML建模(下午第三道,15)

概述,类图,用例图,顺序图,活动图,状态图,通信图,构件图第十章——UML建模(下午第三道,15) 概述 统一建模语言(UML)是面向对象软件的标准化建模语言。 UML由三个要素构成:UML的基本构造块 支配这些构造块如何放置在一起的规则 运用于整个语言的些公共机制。UML的词汇表…

第四章——操作系统基本原理(6)

基本概念,进程管理,存储管理,文件管理,设备管理,微内核操作系统第四章 操作系统基本原理 4.1 基本概念 计算机系统的层次结构:纯硬件->操作系统->软件/用户操作系统(Operating System,OS)是指控制和管理整个计算机系统的硬件和软件资源,并合理地组织调度计算机的…

第二章——数据结构与算法基础(占比较高)

基本概念和三要素,算法,线性表,栈和队列,串、数组、矩阵和广义表,树和二叉树,图,查找,排序第二章 数据结构与算法基础(占比较高) 2.1 基本概念和三要素 数据结构在学什么? 如何用程序代码把现实世界的问题信息化 如何用计算机高效地处理这些信息从而创造价值,数据:…

第十三章——法律法规与标准化知识(2分)

知识产权,保护期限,知识产权人确定,侵权判定,标准的分类与标准的编号第十三章 法律法规与标准化知识(2分) 13.1 知识产权 知识产权又称为智慧财产权,是指人们通过自己的智力活动创造的成果和经营管理活动中的经验、知识而依法所享有的权利。传统的知识产权可分为“工业产…

第五章——计算机网络基础(浅浅的了解一下即可)

计算机网络的分类,七层网络体系结构,网络的标准,TCP/IP协议族,IP地址和IPv6简介,Internet服务第五章 计算机网络基础(浅浅的了解一下即可) 5.1 计算机网络的分类5.2 七层网络体系结构5.3 网络的标准 主要的国际标准化组织如下ISO —— 国际标准化组织 ANSI —— 美国国家…

第一章——计算机组成原理与体系结构基础知识(6)

数据的标识,计算机体系结构,指令系统,存储系统,总线系统,输入输出技术,可靠性第一章 计算机组成原理与体系结构基础知识(6) 信息化世界是由计算机/手机通过计算机网络与其他的计算机/手机连接的,其中,计算机/手机由三部分组成,从底层到上层分别为机组(硬件),操作系…

第十二章——信息安全与多媒体基础知识(3分)

网络安全基本概念,网络安全威胁,网络攻击,防火墙技术,加密与数字签名,各个网络层次的安全保障,音频相关概念,图像相关概念,多媒体的种类,多媒体的计算问题第十二章 信息安全与多媒体基础知识(3分) 12.1 网络安全基本概念 计算机网络安全是指计算机、网络系统的硬件、软…

constexpr和常量表达式

1、常量表达式是什么 在编译时就能确定其值的表达式。换句话说,常量表达式的值在编译过程中就已经是已知且不会改变的。常量表达式是由 数据类型 和 初始值 共同决定的。(注意区分const 和 常量表达式) 常量表达式的特点:值在编译时已知:常量表达式的值在编译阶段就能确定…