自动向量化

上传人:cl****1 文档编号:497875418 上传时间:2023-08-07 格式:DOC 页数:4 大小:99.50KB
返回 下载 相关 举报
自动向量化_第1页
第1页 / 共4页
自动向量化_第2页
第2页 / 共4页
自动向量化_第3页
第3页 / 共4页
自动向量化_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《自动向量化》由会员分享,可在线阅读,更多相关《自动向量化(4页珍藏版)》请在金锄头文库上搜索。

1、面相 DSP 的自动向量化技术刘顺亮 西安电子科技大学一 简述随着多媒体应用的迅速发展,很多高性能微处理器都采用了 SIMD 扩展技 术。SIMD扩展技术缺少统一的指令描述规范,程序员不仅需要对程序的结构有 较为深刻的认识,而且要掌握目标平台支持的扩展体系结构和指令集的特点,对 程序员来说编写SIMD程序是具有挑战性的工作,因此当前编译技术中的自动向 量化就是解决这个问题的一个重要方法。二 自动向量化自动向量化是编译器提供的一个可以自动的使用SIMD指示的功能。目前自动 向量化主要有三种方法分别是传统向量化方法、指令级并行(Ins true tion-Level Parallelism,ILP

2、)方法和模式匹配方法(1) 传统的向量化方法 传统的向量化方法是最早使用的技术,也是一个很成熟的技术,它较多应用于向量机上,并取得了很好的效果。其基本做法是分析循环内的数据依赖关系, 并以此构造语句依赖图,再根据tarjian算法构造强连通分量,若强连通分量中 只有一条语句,此语句就是可以向量执行的语句。该方法主要分析语句的依赖关 系,再结合循环交换和循环分布技术,尽量使最内层循环的语句向量执行,因此 传统的向量化方法主要是发掘最内层循环语句级的向量化特性。(2) 指令级并行指令级并行中一个应用较广的方法是超字并行(Superword Level Parallelism,简写SLP),超字并行

3、向量化方法是在基本块内寻找指令并行机会, 其过程是寻找基本块内相邻的内存访问,将其配对并打成向量化的包,再根据定 义使用(Define-Use,DU)链和使用定义(Use-Define,UD)链将包扩展,然后按照向 量化的要求组合同构操作,生成向量化代码。在具体实现时,将循环按照一定的 迭代次数展开,寻找并将地址连续的数据打包作为向量来处理,再将程序中的同 构语句用向量指令代替。还可将不同循环的语句合并到同一个基本块内,这样即 可实现迭代间的语句并行,又可实现迭代内的指令并行,因此也就可实现迭代间 和迭代内的数据SIMD向量化。从这个角度讲,超字并行是传统向量化的一个超 集,又是指令级并行(I

4、LP)的一个子集。下图为SLP算法的流程图:当然仅限于开发基本块内的并行,在处理不连续、不对齐、操作类型不一致的问题时有很多限制,还有一些指令级并行的方法,如PengWU等提出了一种基于虚 拟向量寄存器的架构,这种架构可以为不同的方法提供一个向量化的平台。其向量化架构如下图所示(3) 模式匹配模式匹配的向量化方法就是按照既定的几种模式,通过语句生成树的模式匹 配的方法来产生支持典型操作的扩展指令。这些典型操作一般是应用程序中的一 些特殊运算操作,如平均值运算、饱和加减法、最小/大值运算等,这些操作通 常也是应用程序的热点操作,占用大部分执行时间。许多扩展指令集针对某些特 殊的运算操作提供了相应

5、的指令支持,用这些特殊指令来执行典型操作的时间要 比普通执行的时间要少得多。当前很多商业编译器都集成了自动向量化的模块,但是这些编译器大多是采用 传统的向量化方法,传统的向量化方法一般会结合一定的循环变换技术,如 Intel的编译器,GCC编译器 AMD的0pen64编译器、PathScale编译器等。 超字并行(SLP)的向量化方法一般未使用循环变换方法,此方法大多被各研究机 构的编译器所采用,如斯坦福大学基于SUIFs源到源的自动向量化编译器y z, 它以GCC编译器作为后端编译器,所采用的扩展指令支持Altivec指令集,此外 IBM的编译器BlueGene/L也采用了超字并行的向量化方

6、法mn。本课题开发的自 动向量化工具使用的是超字并行的向量化方法,并将传统的循环变换技术应用到 此向量化方法中。三 DSPDSP(Digital Signal Processor)是一种独特的微处理器,是以数字信号 来处理大量信息的器件。其工作原理是接收模拟信号,转换为0或1的数字信号。 再对数字信号进行修改、删除、强化,并在其他系统芯片中把数字数据解译回模 拟数据或实际环境格式。它不仅具有可编程性,而且其实时运行速度可达每秒数 以千万条复杂指令程序,远远超过通用微处理器,是数字化电子世界中日益重要 的电脑芯片。它的强大数据处理能力和高运行速度,是最值得称道的两大特色。芯片特点1、采用哈佛结构

7、DSP 芯片普遍采用数据总线和程序总线分离的哈佛结构或改进的哈佛结构, 比传统的冯诺依曼结构有更快的指令执行速度。1)冯诺依曼1采用单存储空间,即程序指令和数据指令公用一个存储 空间,使用单一的地址和数据总线,取指令和取操作数都是通过一条总线分时进 行的。2)哈佛结构 采用双存储空间,程序存储和数据存储分开,有各自独立的程序总线和数据总线,可独立的编址和独立访问,可对程序和数据进行独立的传输,使取指令操 作、指令执行操作、数据吞吐并行完成,大大的提高了数据处理的能力和指令执 行的速度,非常适合于实时的数字信号处理。3)改进型的哈佛结构 改进型的哈佛结构是采用双存储空间和数条总线,即一条程序总线

8、和多条数据总线。其特点如下: 允许在程序空间和数据空间传送数据,使这些数据可以由算术运算指令直 接调用,增强了芯片的灵活性。 提供了存储指令的高速缓冲器(Cache)和相应的指令,当重复执行这些 指令时,只需读入一次就可连续使用,不需要再次从程序存储器中读出,从而减 少了指令执行所需要的时间。2 采用多总线结构DSP 芯片都采用多总线结构,可同时进行取指令和多个数据存取操作,并由 辅助寄存器自动增减地址,使 CPU 在一个机器周期内可多次对程序空间和数据空 间进行访问,大大提高了 DSP 的运行速度。3 采用流水线技术 每一条指令可通过片内多功能单元完成指令、译码、取操作数和执行等多个步骤,实

9、现多条指令并行执行,从而在不提高时钟频率的条件下减少每条指令执 行的时间。4 配有专用的硬件乘法-累加器 为了适应数字信号处理的需要,当前的 DSP 芯片都配有硬件乘法-累加器,可以一个周期内完成一次乘法和一次累加操作,从而可实现数据的硬件乘法-累 加操作。如矩阵运算、FIR、IIR、FFT变换等专用信号处理。5 具有特殊的 DSP 指令为了满足数字信号处理的需要,在DSP的指令系统中,设计了一些完成特殊 功能的指令。如:TMS320C54X中的FIRS和LMS指令,专门完成系数对称的FIR 滤波器和IIR滤波器。6 快速的指令周期 由于采用哈佛结构、流水线操作、硬件乘法-累加器、特殊指令和集

10、成的优化设计,使指令周期可在20ns以下。如TMS320C54X的运算速度为100MIPS7 硬件配置强新一代的 DSP 芯片具有较强的接口功能,除了具有串行口、定时器、主机接 口音(HPI)、DMA控制器、软件可编程等待状态发生器等片内外设外,还配有 中断处理器、PLL、片内存储器、测试接口等单元电路,可以方便地构成一个嵌 入式自封闭的处理器。8 支持多处理器结构尽管当前的 DSP 芯片已达到了较高的水平,但一些实时性要求很高的场合, 单片 DSP 的处理能力还不能满足要求。如在图象压缩、雷达定位等应用中,若采 用单处理器将无法胜任。因此,支持多处理器系统就成为提高DSP应用性能的重 要途径

11、之一。9 省电管理和低功耗DSP功耗一般为0.5-4W,若采用低功耗技术可使功耗降到0.25W,可用电池供电,适用于便携式数字终端设备.2DSP 优点对元件值的容限不敏感,受温度、环境等外部因素影响小;容易实现集成;VLSI 可以分时复用,共享处理器; 方便调整处理器的系数实现自适应滤波; 可实现模拟处理不能实现的功能:线性相位、多抽样率处理、级联、易于存 储等;可用于频率非常低的信号。DSP 缺点需要模数转换;受采样频率的限制,处理频率范围有限; 数字系统由耗电的有源器件构成,没有无源设备可靠。但是其优点远远超过缺点。四 总结通过十天的学习,对自动向量化技术和DSP有了比较深入的了解,了解到

12、高性能 计算机的发展与硬件和软件息息相关,通过对 DSP 的自动向量化技术可以提高 DSP 的计算速度等性能,通过各种算法的整合,实现最优化系统。因此开发新的 算法很有必要。应该结合应用程序和硬件体系结构的特点。针对特定应用和特定 的体系结构研究循环变换,才能起到较好的效果。在算法中中,要充分的分析程 序特点,输出更加完整有指导意义的信息,同时,还要丰富和完善交互变换的帮 助信息,给用户更加有意义的指导,可更有效的选择有利的循环变换。针对更加复杂的体系结构,还可以进一步研究自动向量化和自动并行化技术 结合起来的技术,防止为了开发程序的向量化特性而阻碍了并行性,以最小的代 价获得最优的性能一直是程序变换的最终目标。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 建筑资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号