面向FPGA的可重构编译器研究

来源 :哈尔滨工程大学 | 被引量 : 2次 | 上传用户:zcom0907
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
近年来,FPGA(Field Programmable Gate Array)技术飞速发展,由于其具备低功耗、可配置和可高度并行化的特点,成为计算密集型和大数据计算应用的重要加速平台。基于FPGA平台的可重构体系结构需要可重构编译系统的支持。通过对目前的可重构编译系统的研究分析发现,可重构编译系统仍存在较多不足,如对程序的运行时性能评估研究不充分、在编译过程中对硬件多版本探索不足、软硬件划分粒度单一化、面向循环程序优化的自动映射模板支持不足、编译后硬件代码的鲁棒性和指令并行性有待提高等,因此通过研究解决上述问题可进一步提高程序的编译质量。本文通过研究可重构编译器的关键技术来解决上述问题,包括编译框架的整体结构设计、程序运行时特征评估、软硬件划分粒度选取、硬件多版本分析、软硬件划分模型、并行结构的自动映射模板、IR(intermediate representation)代码的映射和优化等,具体的研究工作可分为如下几部分:(1)提出了一种面向FPGA的可重构编译器框架编译器框架核心功能基于LLVM(low level virtual machine)架构实现,并以LLVM为前端,实现输入代码的预处理和IR代码的生成;通过本文的软硬件划分模型对IR进行软硬件划分;依据划分的结果将IR代码按照软件、硬件重新封装,并生成接口辅助信息文件;然后对硬件运行的IR代码进行优化和代码映射、生成软硬件通信接口文件、利用LLVM反编译生成软件运行的代码;最后以EDK(Embedded Development Kit)和ISE(Integrated Software Environment)为后端,编译生成目标系统软硬件可运行代码。与其它编译框架的主要不同之处包括:本文设计的编译框架设置了独立功能扩展库,将编译过程中调用的功能模块独立设置,以方便编译器的升级与改进;本文的软硬件划分模型基于程序运行时特征评估、面向可变划分粒度和硬件多版本实现。实验结果表明,本文所提出的可重构编译器框架能够正确地将程序编译成软硬件协同运行系统。(2)提出了一种基于程序运行时特征和硬件多版本的软硬件划分模型结合现有软硬件划分中存在的不足,提出了本文的软硬件划分模型。依据软硬件划分工作流程,首先设计实现了程序运行时特征评估功能模块,包括:基于BP(back propagation)神经网络的软件运行时间评估模型;基于IR运算指令的代码块硬件开销相关评估算法,其中包括软硬件划分粒度选择方案、硬件多版本分析、硬件运行时间评估算法、硬件面积开销评估算法和软硬件间通信时间计算方法,硬件相关评估需要根据目标硬件平台的不同,通过编译后系统的运行反馈信息来修正评估公式的权值;最后依据程序运行时特征评估的支持、基于改进的遗传算法设计实现了本文的软硬件划分模型。实验结果表明,程序运行时特征相关评估算法均能获得较准确的评估值,可以满足软硬件划分模型的需求;与同类研究相比,基于本文设计的软硬件划分模型可产生较好的加速效果,通过修改遗传操作较好地改善了软硬件划分算法的收敛性。(3)提出了一种循环程序到脉动阵列结构的自动映射模板结合规则循环程序和脉动阵列结构的特点,提出了循环程序到脉动阵列结构的自动映射模板。模板以循环的数据依赖模型(data dependence model,DDM)为输入,首先通过自动增加临时变量来消除全局数据依赖;接下来通过时空映射函数将DDM映射到中间过渡的虚拟脉动阵列结构模型(Virtual Systolic Array Architecture Model,VSAAM);最后VSAAM被综合为可重构脉动阵列模型(Reconfigurable Systolic Array Architecture Model,RSAAM)。RSAAM即最终的脉动阵列结构模板,为可重构编译框架提供了一种硬件版本的实现方案。实验结果表明,相比于同类研究,本文的自动映射模板生成的硬件结构可产生较少的系统执行周期,相对于软件执行可获得较高的加速比,由于增加了可重构接口单元和众多的临时变量,硬件面积开销较大。(4)提出了一种IR代码映射与面向硬件的优化方案结合FPGA硬件运行的特点,提出了IR到VHDL(Very High Speed Integrated Circuit Hardware Description Language)代码的映射与优化方案。首先面向语义,设计了防止硬件访存冲突、操作数数据类型不匹配的优化方案;接着面向硬件设计了IR指令并行化的优化算法;最后实现了IR到VHDL代码的映射,并生成相应的数据读写控制逻辑。实验结果表明,本文的代码映射方案可以正确实现IR到VHDL代码的映射,在保持原有运算逻辑不变的前提下,优化的IR代码在转换为VHDL代码后,提高了硬件代码的鲁棒性和指令运行的并行性,从而提高了编译后系统的执行效率。本文所研究的各项关键技术均已应用于可重构编译器框架的功能模块中,实验结果表明,本文的研究成果较好地解决了可重构编译系统相应存在的问题,所提出的可重构编译框架能够产生较好的系统加速效果。
其他文献
目的:探讨不同剂量及途径给药的EP方案对非小细胞肺癌的疗效及不良反应。方法:1998年3月-2000年5月将156例非小细胞肺癌患者随机分为A(40例)、B(36例)、C(42例)、D(38例)4组,
西天山昭苏阿登套山地区广泛出露大哈拉军山组火山沉积体系,形成时代分歧很大。阿登套山大哈拉军山组火山岩主要由玄武岩、安山岩、英安岩、流纹岩及其一系列紫色、灰色、紫
中动结构是一种具有普遍性和跨语言特征的语言现象,在世界各国语言中皆有反映。从句法-语义角度分析英汉语典型中动结构的相同点和不同点,可以发现英汉语中的中动结构既有共
ue*M#’#dkB4##8#”专利申请号:00109“7公开号:1278062申请日:00.06.23公开日:00.12.27申请人地址:(100084川C京市海淀区清华园申请人:清华大学发明人:隋森芳文摘:本发明属于生物技
写作文是小学生常常头痛的事,老师教起来也很费力,但是有一种诀窍却可以无形中提高小学生的写作能力,那就是 背诵经典,大量积累,内化于心,表达于口,仿写诗词。
当前低工资助推的企业繁荣,透支使用了劳动力资源,将目前应承担的成本转嫁到未来。实际上,“劳工荒”仅仅是低工资企业的“劳工荒”。
为解决无煤柱沿空留巷巷旁窜矸、难于维护及巷帮变形量大等问题,针对顺和煤矿综采工作面上覆岩层地质特性,并结合矿井以往的施工经验,提出了切顶卸压沿空留巷巷旁挡矸支护技
阐述宿根花卉的特点及选择标准,提出宿根花卉在园林绿地应用中的配置原则,为其在园林绿地中的运用提供参考。
ue*M#’#dkB4##8#”专利申请号:00109“7公开号:1278062申请日:00.06.23公开日:00.12.27申请人地址:(100084川C京市海淀区清华园申请人:清华大学发明人:隋森芳文摘:本发明属于生物技
作为一名班主任,要解决学生思想上的很多问题,免不了要经常与学生谈话。但是,选择什么样的谈话方式,则是一个值得探讨的问题。结合近几年班主任工作实践,笔者认为与学生进行相互间