基于llvm的异构编译优化方法分析

基于llvm的异构编译优化方法分析

ID:32136759

大小:12.45 MB

页数:60页

时间:2019-01-31

基于llvm的异构编译优化方法分析_第1页
基于llvm的异构编译优化方法分析_第2页
基于llvm的异构编译优化方法分析_第3页
基于llvm的异构编译优化方法分析_第4页
基于llvm的异构编译优化方法分析_第5页
资源描述:

《基于llvm的异构编译优化方法分析》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、computingthedependencyinkernel.Soitonlyneedtoconsiderthenon-loopdependencywhenputtingtheloadinstructionandstoreinstructionoutsidetheloopintheOpenCLmodel.Finally,thispapergivestheexperiment.ThisexperimentcallimprovethespeedofOpenCLeffectivelyinmostofsceneundertheLLVM(LowLevelV'trtualMachi

2、ne)platform.Itachievedaimpressiveimprovementthaneverbefore.KEYWORDS:OpenCL;CompilationOptimization;LLVM;GPU目录摘要⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..IIIABSTl认cT⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.IV第一章绪论⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯11.1选题背景与研究意义⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯11.2CPU与GPU的特点分析⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.21.30penCL程序模型简介⋯⋯⋯⋯⋯⋯⋯⋯

3、⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯31.4国内外GPU通用计算优化编译的研究现状⋯⋯⋯⋯⋯⋯⋯⋯。81.5本课题的研究内容和创新点⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯lO1.6本章小结⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..12第二章依赖分析与循环不变外提算法⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯132.1依赖分析简介⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯。132.1.1依赖分析的重要定理及其相关定义⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯152.1.2依赖分析的用例⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯172.2数据流分析⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..192.2.1数据流分析的分类⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

4、⋯⋯⋯⋯⋯⋯⋯192.2.2定值.使用㈨链与使用定值(ud)链⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯202.3循环不变代码外提⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯。212.4本章小结⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯一24第三章系统设计⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯263.1程序模型⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..263.2运行时监测系统⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..293.3编译优化算法概述⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯。343.4OpenCL归纳变量分析⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯。363.5循环不变代码外提算法扩展⋯⋯⋯⋯⋯⋯

5、⋯⋯⋯⋯⋯⋯⋯⋯。393.6可外提代码的选择⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..443.7运行代码的选择⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..453.8实验环境⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯。463.9实验分析与结论⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯。463.10本章小结⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..48第四章结论及展望⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.494.1结论⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯。494.2展望⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯494.3本章小结⋯

6、⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..50致谢⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.51参教献⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.52在学期间发表的论著及取得的科研成果⋯⋯⋯⋯⋯⋯⋯⋯⋯57第一章绪论1.1选题背景与研究意义随着电子工业的不断发展,多核乃至众核处理器的迅速普及,计算机硬件体系结构日趋复杂,以前底层的技术细节越来越多的暴露在了系统层面。如果要充分的发挥硬件提升带来的高效运算能力,一方面需要程序设计者具备相关的专业知识,另一方面更需要编译程序自动完成相应的优化工作,并尽量隐藏底层硬件的复杂性。众所周知,开发一个性能良

7、好的并行软件,首先要选择合适的并行程序语言和环境,这关系到程序的生产效率、运行性能和可移植性等重要方面。在异构并行体系架构出现之前,工业界普遍公认的并行程序设计标准是支持分布式存储并行的MPI和支持共享存储并行的OpenMP。随着GPGPUtl'42】在超级计算环境中的日渐普及,加之它在若干应用领域所表现出的优秀的功耗比和性价比优势,越来越多的开发人员开始关注GPGPU的并行程序设计问题,迫切希望工业界尽快制定一个统一的为厂商和用户普遍接受的GPGPU并行编程语言和环境,以降低用户的开发成本和学习成本,确保程序在不同厂家提供的异构加速部件

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。