面向應用的GPU并行計算關(guān)鍵技術(shù)研究
發(fā)布時間:2018-01-10 06:17
本文關(guān)鍵詞:面向應用的GPU并行計算關(guān)鍵技術(shù)研究 出處:《國防科學技術(shù)大學》2014年博士論文 論文類型:學位論文
更多相關(guān)文章: GPU 視頻編碼 CPU-GPU異構(gòu)計算 Stencil計算 性能模型 OpenCL 性能可移植性
【摘要】:隨著信息技術(shù)的進步,大規(guī)?茖W與工程應用對計算性能的需求不斷增加。由于功耗的限制,過去十年計算機技術(shù)的發(fā)展基本摒棄了通過提高處理器頻率來增加計算機性能的傳統(tǒng)模式,轉(zhuǎn)而朝著多核、眾核體系結(jié)構(gòu)方向發(fā)展。由于CPU的通用性,基于多核CPU的大規(guī)模計算機系統(tǒng)仍然面臨十分嚴峻的能耗問題。在這樣的背景下,專用加速部件獲得了學術(shù)界和產(chǎn)業(yè)界的廣泛關(guān)注。尤其是以GPU為代表的異構(gòu)處理器,以其優(yōu)異的能效比,極大的促進了高性能計算技術(shù)的發(fā)展。同時,基于CPU-GPU架構(gòu)的異構(gòu)系統(tǒng)也已經(jīng)成為高性能超級計算機發(fā)展的主流方向之一,例如基于NVIDIA Kepler架構(gòu)的Titan計算機。雖然,GPU硬件技術(shù)已經(jīng)獲得了長足的發(fā)展,但是,GPU的硬件體系結(jié)構(gòu)和編程模型與傳統(tǒng)CPU存在很大的不同,與之匹配的并行軟件技術(shù)相對落后,實際應用的效率和并行程序開發(fā)效率問題尤為突出。本課題面向特定的應用領(lǐng)域,深入開展基于GPU以及CPU-GPU異構(gòu)系統(tǒng)的并行計算關(guān)鍵技術(shù)研究,涉及并行程序設(shè)計、并行編程模型、GPU性能預測模型和不同多核、眾核處理器之間程序性能可移植性等問題。本文的主要研究工作和創(chuàng)新點如下:1.提出了一個基于GPU架構(gòu)的高效并行視頻編碼框架,并在GPU上實現(xiàn)了一個完整的H.264視頻編碼器。本文通過循環(huán)劃分技術(shù),將整個編碼器以幀為單位分為四個部分,分別是幀間預測,幀內(nèi)編碼,熵編碼和去塊濾波。這四個部分都被加載到GPU上并行加速,既可以開發(fā)每幀圖像潛在的并行性,也進一步開發(fā)了各個部分之間生產(chǎn)者-消費者局域性,避免了不必要的CPU-GPU之間數(shù)據(jù)傳輸。本文使用CUDA編程語言,實現(xiàn)了一個面向GPU的完整H.264并行編碼器。針對計算密集型組件運動估計,本文提出了一個面向大規(guī)模并行體系結(jié)構(gòu)的可擴展并行算法(多分辨率多窗口幀間預測算法)。為了提高非規(guī)則算法的效率,本文提出了方向優(yōu)先的并行去塊濾波和基于分量的并行CAVLC算法,成功實現(xiàn)了大規(guī)模并行CAVLC編碼器,大大減少了編碼后傳回CPU的數(shù)據(jù)量。另外,本文還提出了一個多級并行幀內(nèi)編碼算法。實驗結(jié)果表明,本文實現(xiàn)的基于GPU的H.264編碼器可以滿足30幀每秒(fps)高清實時編碼需求。2.提出并實現(xiàn)了基于大規(guī)模CPU-GPU異構(gòu)系統(tǒng)的高效地質(zhì)沉降模擬解決方案;谔旌-1A超級計算機實現(xiàn)了三種全顯示雙巖沉降模擬方案:基于MPI的CPU-only實現(xiàn)、基于MPI+CUDA的GPU-only實現(xiàn)以及基于MPI+Open MP+CUDA的CPU-GPU混合實現(xiàn)。采用基于Open MP的CPU并行實現(xiàn)、基于CUDA的GPU并行實現(xiàn)和MPI的節(jié)點間通信實現(xiàn)了GPU計算與CPU計算以及節(jié)點間通信的重疊。實驗結(jié)果表明,本文提出的異構(gòu)實現(xiàn)可以獲得很高的性能,滿足高分辨率地質(zhì)沉降模擬的需求,在1024個天河-1A計算節(jié)點上獲得了72.8 TFlops的計算性能,模擬分辨率達到了131072×131072。3.提出了一個基于數(shù)據(jù)傳輸?shù)膕tencil計算GPU性能分析預測模型。為了理解、預測stencil計算在GPU上可以獲得的性能以及刻畫其性能瓶頸,本文對stencil計算在GPU上的各種優(yōu)化實現(xiàn)進行了量化分析,并從數(shù)據(jù)傳輸?shù)慕嵌忍岢隽艘粋性能分析預測模型。基于三個并行粒度:一個CUDA線程、一個線程塊以及一組可以同時執(zhí)行的線程塊,本文分別對寄存器和SM片上存儲器、SM片上存儲器和L2 cache以及L2 cache和全局存儲器三個存儲層次之間的數(shù)據(jù)傳輸量進行建模。結(jié)合GPU在各個存儲器上可以獲得的實際帶寬和數(shù)據(jù)傳輸量,進一步預測程序的執(zhí)行時間。實驗結(jié)果表明,本文提出的基于數(shù)據(jù)傳輸?shù)男阅茴A測模型對于基本stencil實現(xiàn)在GPU上執(zhí)行時間的預測錯誤率為6.9%,而對于經(jīng)過優(yōu)化實現(xiàn)的stencil程序的執(zhí)行時間預測錯誤率為9.5%。4.研究了Open CL程序在多核CPU和GPU之間的性能可移植性問題。雖然Open CL編程使得同一個程序可以在不同硬件平臺之間實現(xiàn)代碼可移植,但是其性能可移植性卻遠遠不能滿足要求。本文從特定的應用出發(fā),研究基于Open CL的stencil計算在CPU、GPU之間的性能可移植性問題。通過在循環(huán)之間增加代碼,保持代碼可移植性的基礎(chǔ)上,提高了其性能可移植性。本文發(fā)現(xiàn)空間數(shù)據(jù)分塊和寄存器重用技術(shù)可以同時提高stencil計算在CPU和GPU上的性能。實驗結(jié)果表明,本文實現(xiàn)的面向GPU優(yōu)化的Open CL stencil計算的性能是對應CPU上Open MP程序獲得性能的96%以及對應GPU上CUDA程序的96.8%。
[Abstract]:With the development of information technology , the demand of large - scale science and engineering application on computing performance has been increasing . Due to the limitation of power consumption , the development of computer technology in the past decade has basically abandoned the traditional mode of increasing processor frequency to increase computer performance . In order to understand and predict the performance and performance bottleneck between CPU and GPU , this paper presents a performance analysis and prediction model based on data transmission .
【學位授予單位】:國防科學技術(shù)大學
【學位級別】:博士
【學位授予年份】:2014
【分類號】:TN919.81
,
本文編號:1404186
本文鏈接:http://sikaile.net/kejilunwen/wltx/1404186.html
最近更新
教材專著