6、使用图 API 编写高效的可移植代码

使用图 API 编写高效的可移植代码

1. 概述

OpenVX 图为编写性能可移植的应用程序提供了强大的支持。性能可移植意味着在任何平台上都能实现接近最优的性能,不过由于不同硬件的能力因多种因素而异,这并不意味着在所有平台上的执行时间都相同。接下来将详细介绍 OpenVX 图的相关概念、构建方法、执行模型以及一些高级特性。

2. OpenVX 图

2.1 图的基本概念

在 OpenVX 中,程序由一个图表示,图中包含对应于函数的计算节点,以及计算节点与数据对象之间的连接,这些连接对应数据流,进而暗示执行顺序。可以使用 vxCreateGraph() 创建图对象,并将节点和数据对象连接起来构建图。在执行之前,需要使用 vxVerifyGraph() 验证图的一致性、正确性以及其他条件,如内存可用性等。这个验证阶段有助于厂商针对硬件平台优化图,使图的执行不产生额外成本。

2.2 二分有向无环图(DAG)

OpenVX 图可以正式定义为二分有向无环图(DAG),表示为元组 (N, D, C),其中 N 是计算节点的集合,D 是数据对象的集合,C 是计算节点与数据对象之间的单向连接集合。

节点中心和数据中心的图表示法可用于计算节点和数据对象之间的连接。OpenVX 节点 API 使用节点中心的图表示法,每个节点创建 API 调用会在 OpenVX 图中实例化一个计算节点,节点创建 API 以输入参数和输出参数作为参数。同样的图也可以从数据中心的角度来看,数据中心的图表示法有助于识别最常见的图输入和输出参数。在数据中心的图表示法中,所有图输

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值