学位论文 > 优秀研究生学位论文题录展示
YHFT-Matrix编译器SIMD指令自动向量化技术的研究与实现
作 者: 淡孝强
导 师: 陈跃跃
学 校: 国防科学技术大学
专 业: 软件工程
关键词: SIMD扩展 YHFT-Matrix GCC 自动向量化
分类号: TP314
类 型: 硕士论文
年 份: 2012年
下 载: 5次
引 用: 0次
阅 读: 论文下载
内容摘要
随着无线通信和视频图像处理应用的快速发展,需要采用更高性能的DSP处理满足这些应用的计算需求。YHFT-Matrix是具有自主知识产权并支持SIMD(single instructionmultiple data)的高性能DSP,具有创新的体系结构和指令集。SIMD操作能够提升多媒体、数字信号处理等应用的性能,具有较高的能耗比。YHFT-Matrix中设计了约150条SIMD指令,现有编译器的SIMD指令自动向量化方法并不能满足YHFT-Matrix体系结构和指令集特点,需要在YHFT-Matrix编译器中支持这些SIMD指令并实现自动向量化。论文针对YHFT-Matrix的SIMD自动向量化编译方法展开研究,选择GCC作为开发平台,研究面向YHFT-Matrix的SIMD指令自动向量化方法并进行了实现。论文首先对当前SIMD指令自动向量化研究现状进行分析,重点分析了GCC内部结构以及向量化器工作流程。总结已有SIMD自动向量化方法和现有向量化器对YHFT Matrix体系结构和指令集特点存在的不足,提出了YHFT-Matrix SIMD指令自动向量化编译所面临的挑战。论文的主要工作和贡献包括三个方面:YHFT-Matrix SIMD指令的自动向量化映射:建立了YHFT-Matrix向量后端,研究了SIMD指令自动向量化映射方法,采用标准名映射、标准名与扩展结合映射、扩展与内建函数结合映射等方式,实现了YHFT-Matrix指令集中几类SIMD指令的自动向量化映射。SIMD指令的自动向量化优化。主要的优化工作包括:针对YHFT-Matrix指令集中的饱和算术操作,本文提出了一种数据类型扩展方法,简化了饱和算术的中间语言表示,便于向量化器的处理;针对YHFT-Matrix指令集中的特殊乘法操作,本文设计了一种新的算术操作数据类型转换规则,去除了多余的语句,便于向量化器的处理;针对由库函数方式实现的特殊操作,本文提出了一种编译器操作扩展的方法,使得YHFT-Matrix编译器能够将这类操作直接映射成特殊SIMD指令;针对现有向量化器能力不足,本文提出了一种编译指导控制向量化器的方法,程序员通过编译指导可以控制向量化器的行为。以GCC-4.3.2为基础实现了上述工作并进行了实验,实验结果表明YHFT-MatrixSIMD指令映射正确,所做的优化工作能有效提高YHFT-Matrix SIMD指令的自动向量化程度,能够提高现有向量化器的自动向量化能力。实验结果表明本文设计实现的YHFT-Matrix SIMD指令自动向量化方法符合YHFT-Matrix体系结构和指令集特点,正确有效。
|
全文目录
摘要 10-11 Abstract 11-12 第一章 绪论 12-20 1.1 研究背景 12-13 1.2 自动向量化研究现状 13-16 1.2.1 基于循环的自动向量化 13-14 1.2.2 基于基本块的自动向量化 14-15 1.2.3 可移植的编译器向量支持 15-16 1.3 开发平台选择 16-17 1.4 论文的主要工作 17-18 1.5 论文结构和组织 18-20 第二章 GCC 与向量化器结构分析 20-34 2.1 GCC 结构分析 20-26 2.1.1 GCC 基本编译阶段 20-23 2.1.2 GCC 的中间语言 23-25 2.1.3 GCC 的优化遍 25-26 2.2 向量化器的分析 26-33 2.2.1 向量化器基本框架 26 2.2.2 循环规范化阶段 26-27 2.2.3 向量化分析阶段 27-31 2.2.4 向量化变形阶段 31-33 2.3 分析总结 33 2.4 本章小结 33-34 第三章 YHFT-Matrix SIMD 指令自动向量化难点分析与方案设计 34-43 3.1 YHFT-Matrix 体系结构 34-35 3.1.1 YHFT-Matrix 内核结构 34-35 3.1.2 YHFT-Matrix 指令集 35 3.2 YHFT-Matrix SIMD 指令向量化难点分析 35-40 3.2.1 SIMD 指令自动向量化的挑战 36-37 3.2.2 YHFT-Matrix 对自动向量化的挑战 37-40 3.3 YHFT-Matrix SIMD 指令自动向量化实现方案 40-42 3.4 本章小结 42-43 第四章 YHFT-Matrix SIMD 指令自动向量化映射实现 43-68 4.1 指令映射流程介绍 43-44 4.1.1 向量化映射分类 43 4.1.2 映射流程与验证环境简介 43-44 4.2 向量后端移植 44-48 4.2.1 向量寄存器描述 44-46 4.2.2 向量数据的机器模式 46-48 4.3 简单操作映射 48-53 4.3.1 映射分析 48-50 4.3.2 映射实现 50-52 4.3.3 正确性验证 52-53 4.4 数组赋值操作映射 53-58 4.4.1 映射分析 53-55 4.4.2 映射实现 55-56 4.4.3 正确性验证 56-58 4.5 条件执行操作映射 58-62 4.5.1 映射分析 58-59 4.5.2 映射实现 59-61 4.5.3 正确性验证 61-62 4.6 跨距访存映射 62-67 4.6.1 映射分析 62-64 4.6.2 映射实现 64-65 4.6.3 正确性验证 65-67 4.7 本章小结 67-68 第五章 YHFT-Matrix SIMD 指令自动向量化优化 68-91 5.1 优化分析 68-69 5.2 饱和数据类型扩展 69-75 5.2.1 数据类型映射分析 69-72 5.2.2 饱和算术指令映射实现 72-74 5.2.3 实验结果分析 74-75 5.3 算术转换规则修正 75-77 5.4 特殊操作扩展 77-82 5.4.1 特殊操作扩展分析 77-80 5.4.2 特殊操作扩展实现 80-82 5.4.3 结果验证 82 5.5 编译指导实现 82-86 5.5.1 编译指导类别 82-83 5.5.2 基于 GIMPLE 的编译指导 83-86 5.6 其他优化 86-90 5.6.1 向量化器的模式识别 86-89 5.6.2 代价模型 89-90 5.7 本章小结 90-91 第六章 总结与展望 91-94 6.1 全文总结 91-93 6.2 展望 93-94 致谢 94-95 参考文献 95-98 作者在学期间取得的学术成果 98
|
相似论文
- 面向高性能DSP Matrix向量化编译器的设计与实现,TP314
- 基于GCC的缓冲区溢出检测研究,TP393.08
- 基于GCC的ARCA3的编译器移植,TP368.1
- 基于蜜罐技术的网络攻击预警系统的研究与应用,TP393.08
- 基于OR1200的软件开发平台设计,TP311.52
- IMS系统中OSA-GW的研究与设计,TN919.8
- 基于GCC抽象语法树文本的C源程序语义分析方法研究,TP311.11
- YHFT-DSP编译关键技术分析及实现,TP314
- GCC盒、D盒、JERE盒和JEGC盒在水稻中的功能分析,S511
- 基于GCC的复算容错编译技术研究与实现,TP311.52
- 面向YHFT-DSP的GCC编译器移植,TP368.11
- 基于GCC的C++静态分析器的开发,TP311.52
- VxWorks操作系统的重新编译和优化研究与实现,TP316.2
- C++静态安全规则检查工具实现,TP312.1
- 光学相干断层扫描术在原发性开角型青光眼诊断中的应用价值,R775
- 嵌入式软件白盒测试中插桩技术的研究与应用,TP311.52
- 基于GNU工具链的ARM-MINIX嵌入式系统交叉编译环境的移植,TP316
- 基于GCC的中间代码优化技术研究,TP314
- 支持IPv6的BGP的开发及其安全性改进的研究,TN915.04
- 数据流分析技术研究与实例分析,TP314
- 不确定性非线性时滞系统保性能控制研究,TP13
中图分类: > 工业技术 > 自动化技术、计算机技术 > 计算技术、计算机技术 > 计算机软件 > 编译程序、解释程序
© 2012 www.xueweilunwen.com
|