欢迎来到天天文库
浏览记录
ID:32136759
大小:12.45 MB
页数:60页
时间:2019-01-31
《基于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并行编程语言和环境,以降低用户的开发成本和学习成本,确保程序在不同厂家提供的异构加速部件
此文档下载收益归作者所有