資源描述:
《基于llvm的異構(gòu)編譯優(yōu)化方法分析》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在學(xué)術(shù)論文-天天文庫。
1、computingthedependencyinkernel.Soitonlyneedtoconsiderthenon-loopdependencywhenputtingtheloadinstructionandstoreinstructionoutsidetheloopintheOpenCLmodel.Finally,thispapergivestheexperiment.ThisexperimentcallimprovethespeedofOpenCLeffectivelyinmostofsceneundertheLLVM(LowLevelV'trtualMachi
2、ne)platform.Itachievedaimpressiveimprovementthaneverbefore.KEYWORDS:OpenCL;CompilationOptimization;LLVM;GPU目錄摘要?????????????????????..IIIABSTl認(rèn)cT??????????????????????????.IV第一章緒論????????????????????11.1選題背景與研究意義??????????????????11.2CPU與GPU的特點(diǎn)分析?????????????????.21.30penCL程序模型簡(jiǎn)介????????
3、??????????31.4國內(nèi)外GPU通用計(jì)算優(yōu)化編譯的研究現(xiàn)狀????????。81.5本課題的研究?jī)?nèi)容和創(chuàng)新點(diǎn)???????????????lO1.6本章小結(jié)??????????????????????..12第二章依賴分析與循環(huán)不變外提算法??????????132.1依賴分析簡(jiǎn)介????????????????????。132.1.1依賴分析的重要定理及其相關(guān)定義??????????152.1.2依賴分析的用例??????????????????172.2數(shù)據(jù)流分析?????????????????????..192.2.1數(shù)據(jù)流分析的分類??????????
4、???????192.2.2定值.使用㈨鏈與使用定值(ud)鏈??????????202.3循環(huán)不變代碼外提??????????????????。212.4本章小結(jié)??????????????????????一24第三章系統(tǒng)設(shè)計(jì)??????????????????263.1程序模型??????????????????????..263.2運(yùn)行時(shí)監(jiān)測(cè)系統(tǒng)???????????????????..293.3編譯優(yōu)化算法概述??????????????????。343.4OpenCL歸納變量分析?????????????????。363.5循環(huán)不變代碼外提算法擴(kuò)展??????
5、????????。393.6可外提代碼的選擇??????????????????..443.7運(yùn)行代碼的選擇???????????????????..453.8實(shí)驗(yàn)環(huán)境??????????????????????。463.9實(shí)驗(yàn)分析與結(jié)論???????????????????。463.10本章小結(jié)??????????????????????..48第四章結(jié)論及展望?????????????????.494.1結(jié)論????????????????????????????????。494.2展望??????????????????????????????494.3本章小結(jié)?
6、?????????????????????..50致謝??????????????????????????.51參教獻(xiàn)??????????????????????????.52在學(xué)期間發(fā)表的論著及取得的科研成果?????????57第一章緒論1.1選題背景與研究意義隨著電子工業(yè)的不斷發(fā)展,多核乃至眾核處理器的迅速普及,計(jì)算機(jī)硬件體系結(jié)構(gòu)日趨復(fù)雜,以前底層的技術(shù)細(xì)節(jié)越來越多的暴露在了系統(tǒng)層面。如果要充分的發(fā)揮硬件提升帶來的高效運(yùn)算能力,一方面需要程序設(shè)計(jì)者具備相關(guān)的專業(yè)知識(shí),另一方面更需要編譯程序自動(dòng)完成相應(yīng)的優(yōu)化工作,并盡量隱藏底層硬件的復(fù)雜性。眾所周知,開發(fā)一個(gè)性能良
7、好的并行軟件,首先要選擇合適的并行程序語言和環(huán)境,這關(guān)系到程序的生產(chǎn)效率、運(yùn)行性能和可移植性等重要方面。在異構(gòu)并行體系架構(gòu)出現(xiàn)之前,工業(yè)界普遍公認(rèn)的并行程序設(shè)計(jì)標(biāo)準(zhǔn)是支持分布式存儲(chǔ)并行的MPI和支持共享存儲(chǔ)并行的OpenMP。隨著GPGPUtl'42】在超級(jí)計(jì)算環(huán)境中的日漸普及,加之它在若干應(yīng)用領(lǐng)域所表現(xiàn)出的優(yōu)秀的功耗比和性價(jià)比優(yōu)勢(shì),越來越多的開發(fā)人員開始關(guān)注GPGPU的并行程序設(shè)計(jì)問題,迫切希望工業(yè)界盡快制定一個(gè)統(tǒng)一的為廠商和用戶普遍接受的GPGPU并行編程語言和環(huán)境,以降低用戶的開發(fā)成本和學(xué)習(xí)成本,確保程序在不同廠家提供的異構(gòu)加速部件