首页> 中文学位 >面向BWDSP的SIMD编译优化技术研究与实现
【6h】

面向BWDSP的SIMD编译优化技术研究与实现

代理获取

目录

声明

摘要

第1章 绪论

1.1 研究背景

1.1.1 指令级并行

1.1.2 SIMD编译优化

1.1.3 分簇体系结构的VLIW DSP

1.1.4 分簇VLIW DSP对编译器的挑战

1.2 研究内容与意义

1.2.1 研究内容

1.2.2 研究意义

1.3 论文组织

第2章 硬件平台及编译基础设施

2.1 BWDSP概述

2.2 BWDSP体系结构

2.2.1 硬件架构

2.2.2 指令集

2.3 Open64编译基础设施

2.3.1 Open64编译器概述

2.3.2 Open64体系结构

2.4 Open64后端中间表示

2.4.1 中间表示WHIRL

2.4.2 中间表示CGIR

2.4.3 WHIRL到CGIR的转换

2.5 本章小结

第3章 基于中间语言WHIRL的SIMD编译优化技术

3.1 引言

3.2 循环嵌套优化

3.3 SIMD编译优化实现框架概述

3.4 SIMD编译优化预分析

3.4.1 确定可向量化候选循环

3.4.2 SIMD预优化

3.5 SIMD代码生成

3.6 intrinsic机制实现

3.7 实验结果与分析

3.8 本章小结

第4章 面向BWDSP的编译器后端SIMD编译相关优化

4.1 引言

4.2 OCC编译器后端优化模块框架

4.3 机器描述

4.4 SIMD指令注释

4.5 SIMD指令分簇

4.5.1 地址寄存器优化

4.5.2 SIMD指令分簇

4.6 SIMD分簇寄存器分配

4.7 SIMD指令调度

4.8 SIMD汇编输出

4.9 实验结果与分析

4.10 本章小结

第5章 总结

5.1 本文工作

5.2 本文工作对BWDSP应用领域的意义和价值

5.3 本文贡献与创新之处

5.4 进一步工作

参考文献

附录

致谢

在读期间发表的学术论文

攻读学位期间参加的科研项目

展开▼

摘要

BWDSP是一款采用分簇体系结构、支持SIMD的16发射的VLIW浮点运算数字信号处理器。由于其具有强大的并行处理能力,能够较好得满足实时信号处理的要求,被广泛应用于各种高性能计算领域。本文在面向BWDSP目标体系结构、基于开源编译基础设施Open64的OCC编译器上设计并实现了针对程序循环部分的SIMD编译优化技术及其后端相关编译优化。
  OCC编译器在其层次化的中间语言WHIRL上进行SIMD编译优化。优化之前首先对程序循环体进行循环嵌套优化,将其中一些具有特定格式的程序转换为BWDSP所支持的高效特殊操作指令。SIMD编译优化阶段首先对候选循环进行预分析,剔除那些不易进行SIMD优化的循环程序,然后再进行收益分析计算、依赖关系分析优化和单双字寻址模式判别,根据循环体特点和寄存器压力选择出循环体中能够进行SIMD优化的指令类型,OCC编译器采用两套寻址模式能够同时支持多簇单字和多簇双字、以及复数寄存器对的SIMD编译优化,最后根据分析结果选择出其所支持的向量化类型进行SIMD代码生成。本文采用一些常用的DSP算法程序作为测试,比较了SIMD优化前后程序的加速比,实验结果表明SIMD优化前后程序的性能能够得到很大的提升。
  OCC编译器后端的代码生成模块是与BWDSP体系结构最为密切相关的部分,因而有必要针对SIMD编译优化进行后端重定向。根据BWDSP的硬件资源和指令集特点,扩展后端代码生成模块中的各个阶段,完成SIMD编译后端相关的优化。该模块中主要阶段包括机器描述、SIMD指令注释、SIMD指令分簇、SIMD分簇寄存器分配和SIMD代码生成等。最后本文采用上述的DSP算法程序作为测试集,将面向BWDSP的OCC编译器和面向ADITS201的C编译器进行SIMD优化后的性能对比,结果表明OCC编译器的SIMD优化性能大体是TS201C编译器的2.5倍左右。

著录项

相似文献

  • 中文文献
  • 外文文献
  • 专利
代理获取

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号