没有合适的资源?快使用搜索试试~ 我知道了~
面向OpenVX核心图像处理函数的并行架构设计.docx
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 79 浏览量
2022-11-28
20:29:44
上传
评论
收藏 1.38MB DOCX 举报
温馨提示
试读
28页
面向OpenVX核心图像处理函数的并行架构设计.docx
资源推荐
资源详情
资源评论
近年来,计算机视觉(computer vision,CV)在深度学习领域的应用迅速发
展,图像处理作为 CV 中比较活跃的一个分支,广泛应用在医疗卫生、安检刑侦、
图像检索与分析、增强现实等领域中
[1]
。而 CV 领域更新变化飞快,这就要求图
像处理具有很高的灵活性、实时性和精确性。传统的硬件很难满足可编程性、
高性能和低功耗的要求。可编程技术的出现使得硬件变得可“编译”,能在嵌入式
系统上完成多种多样的新任务。并行计算方式的出现使得硬件介质可以提供更
加强大的计算能力和密度,大幅提高了芯片系统的总体性能,实现片上超级计算
[2]
。 业 界 典 型 的 两 种 并 行 可 编 程 模 型 分 布 式 共 享 内 存 MPI ( multi-point
interface)和集中式共享内存 OpenMP,与当前 GPU 多核、众核架构相比
[3]
,形
式过于单一。可编程的专用指令集处理器可以兼顾功耗、性能和灵活性
[4]
,一种
专为图形图像处理而设计的新型多态阵列处理器
[5]
应运而生,其不但处理性能
在一定程度上接近于 ASIC(application specific integrated circuit),而且具有
灵活的可编程性,它能够将线程并行、数据并行、指令并行和操作并行融合到
一 个 单 一 的 阵 列 结 构 中 。 对 于 图 像 计 算 ,ASIP( application specific instruc-
tion processor)是一种可行的硬件设计方法,基于 ASIP 体系结构,本文提出了
一种面向计算机视觉底层任务加速的可编程并行处理器。
首先,本文研究了各种拓扑特性对互联网络传输性能的影响,分析了一类基
础网络的拓扑特性,选择了一种更加灵活的新型网络结构——层次交叉互联网
络(hierarchically cross-connected mesh+,HCCM+),可以根据不同应用的网
络流量重新配置为 Mesh、HCCM 或 HCCM-网络,降低整个系统的功耗。其次,
以 HCCM+的网络拓扑结构为基础,设计实现了一种可编程的 OpenVX 并行处
理器,使用有限的硬件资源,以可编程的方式对 OpenVX 1.3 标准中核心函数进
行映射,实现通用的图像处理。
1 OpenVX 的介 绍
2019 年 Khronos 发布的 OpenVX 1.3 标准中,核心图像处理函数包括了基
本像素点处理、全局处理、局部处理、特征提取四大类
[6]
。OpenVX 标准是按
照新兴的图计算方式指定的,其基本加速原理是根据需求有目的性地对图像矩
阵进行一定的操作。如图 1 所示,OpenVX 基本图像处理核函数可以看作整个
处理流程中的一个节点(node)。对于图像处理流程往往是数据从源 Node 流
向目标 Node,Node 与 Node 之间形成一定的有向无环图(graph)
[7]
。开发者
可以根据需要将这些基本的 Node 连成 Graph,完成对图像的操作。
图 1
图 1 OpenVX 图计算模型
Fig.1 OpenVX graph calculation model
OpenVX 作为计算机视觉一个标准化的功能框架,接口统一规范,具有良好
的移植性,可以直接被应用程序使用;也可以作为高级视觉的加速层、框架、引
擎或平台 API
[8]
,被诸多芯片企业(如 NVIDIA、AMD、Intel)采用,具有广泛的
应用前景。但专门为 OpenVX 实现的硬件芯片十分匮乏。本文的工作属于比较
早涉及此标准的硬件设计之一,所提出的架构适合图计算和数据并行计算,实现
可编程的加速处理,最大限度地提高硬件功能和性能的可移植性。
2 OpenVX 并行 处理器 的整体 架构
OpenVX 并行处理器是利用有限的硬件资源实现 OpenVX 核心函数,图像
处理往往是密集且重复的操作,因此除了高速计算之外,提高硬件的通用性,尽
可能地使资源共享、降低功耗也成为并行处理器设计的目的。
2.1 互 联 网络复 杂 性 分 析
互连网络
[9]
是并行处理系统
[10-11]
的重要组成部分,对于数据信息传递的并行
计算
[12]
,互连网络对系统的整体性能尤为重要,是本文所提出的 OpenVX 并行处
理器的主干。由于简单的拓扑结构易于在超大规模集成电路(very large scale
integration,VLSI)中实现和分析,互连网络宜采用简单的拓扑结构,拓扑特性包
括
[13]
:
(1)边数(edge number):网络链路数,影响互联网络的容量及灵活性。
(2)直径(diameter):任意两个节点之间的最短路径中的路径长度。
直径与通信时间成正比,直径越长,所需通信时间越长。
(3)对分宽度(bisection bandwidth):网络被分成节点数相等的两部
分,切口处最小边数为对分宽度,该参数主要反映了整个网络的最大流量。
互联网络的设计要兼顾上述 3 种拓扑特性,使得整体结构的性能在一定程
度上有所提高。最基本的拓扑结构是 Mesh 型、XMesh 型
[14]
,本文在基本结构
的基础上,选择了 HCCM 结构,并对 HCCM 进行扩展得到 HCCM-、HCCM+两
种拓扑结构,如图 2 所示。
图 2
图 2 互连网络拓扑结构
Fig.2 Interconnection network topology
根据递归特性、循环和边界条件,推导计算出 4 种结构的拓扑特性公式,如
表 1 所示。
表 1 互联网络拓扑性能比较
Table 1 Comparison of network topology performance
类型
Mesh
HCCM
HCCM-
HCCM+
级数
n
n
n
n
边长
2n
2n
2n
2n
节点数
22n
22n
22n
22n
边数
22n+1-2n+1
(5/2)4n-2n+1
2(4n-1)
(8/3)4n-2n+1-(2/3)
直径
2n+1-2
3×2n-1-2
2n-1
2n-1
等分宽度
2n
2n
4
2n+2
新窗口打开| 下载 CSV
通过对比四种结构的拓扑特性,HCCM+的直径小于 Mesh 和 HCCM,且比
Mesh、HCCM 和 HCCM-具有更宽的对分宽度。在理论上它可以比其他结构承
载更大的传输量,性能优于其他结构。因此本文采用 HCCM+作为并行处理器的
基础网络。
2.2 并 行 架构设 计
OpenVX 并行处理器采用了性能较为突出的 HCCM+网络,包含了 4×4 个处
理 单 元 ( processing element,PE ) 、 路 由 ( RU ) 及 全 局 控 制 ( global
control),整体结构如图 3 所示。在开始计算前,全局控制器接收微控制器(micro
control unit,MCU)发送的微指令,根据指令中的 PE 标识号(ID),将配置及数
据信息经配置开关模块(cfg&switch)下发至相应的 PE 中。PE 执行任务时以
微指令信息为单位,可以循 环 执 行 微 指 令 携 带 的 操作信息,中间结果可暂存到
PE 内部缓存中,由 RU 控制选通 PE 之间的数据链路,完成数据的传输。MCU
下发的微指令可实现多个 PE 的任务切换,实现整体可配置。
图 3
图 3 OpenVX 并行处理器整体架构
Fig.3 OpenVX parallel processor architecture
2.2.1 运 算 单 元 结构设 计
每个 PE 中包含了 8 个 ALU、2 个定点乘法器(MUL)、2 个浮点乘法器
(FMUL)、1 个定点除法器(DIV)、1 个浮点除法器(FDIV)、1 个内部交
叉开关(Crossbar)、5 个 32×16 的寄存器堆(regfile)以及寄存器堆的访存
模块(RD_CTRL,LOAD_PIXEL),整体结构如图 4 所示。
图 4
剩余27页未读,继续阅读
资源评论
罗伯特之技术屋
- 粉丝: 3655
- 资源: 1万+
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功