基于編譯器輔助的GPGPU緩存一致性研究
發(fā)布時(shí)間:2021-10-27 07:54
隨著以GPGPU為基礎(chǔ)的異構(gòu)計(jì)算架構(gòu)在云計(jì)算、大數(shù)據(jù)以及深度學(xué)習(xí)等各個(gè)領(lǐng)域的廣泛應(yīng)用,以及GPU架構(gòu)的不斷發(fā)展,GPU核心數(shù)量不斷增多,其對(duì)于GPU架構(gòu)中緩存一致性問(wèn)題也越來(lái)越突出。在多核處理器架構(gòu)中,通常使用基于目錄的硬件緩存一致性協(xié)議,來(lái)維護(hù)不同處理器核心私有緩存之間的數(shù)據(jù)一致性。由于GPU架構(gòu)高并行的特點(diǎn),將傳統(tǒng)多核處理器架構(gòu)下的緩存一致性協(xié)議直接應(yīng)用GPU架構(gòu)中,會(huì)導(dǎo)致更頻繁的通信開(kāi)銷(xiāo),更大存儲(chǔ)開(kāi)銷(xiāo),并且會(huì)導(dǎo)致更高的一致性協(xié)議設(shè)計(jì)復(fù)雜度。因此傳統(tǒng)多核處理器架構(gòu)下的緩存一致性協(xié)議并不能直接應(yīng)用于GPU架構(gòu)中,F(xiàn)代GPU架構(gòu)中并沒(méi)有保證數(shù)據(jù)正確性的緩存一致性協(xié)議,只能通過(guò)不把全局?jǐn)?shù)據(jù)緩存到私有一級(jí)緩存上來(lái)避免緩存一致性問(wèn)題。對(duì)訪存敏感型的GPU應(yīng)用程序來(lái)說(shuō),將全局?jǐn)?shù)據(jù)繞過(guò)私有一級(jí)緩存會(huì)帶來(lái)更多的延遲,并且會(huì)潛在地造成更多的片外訪存請(qǐng)求,這樣會(huì)影響整個(gè)異構(gòu)計(jì)算系統(tǒng)的性能。我們發(fā)現(xiàn)一級(jí)緩存對(duì)于GPU的性能會(huì)有積極影響,然而盲目將數(shù)據(jù)加載到一級(jí)緩存會(huì)造成緩存不一致的問(wèn)題;贕PU kernel函數(shù)訪存模式是可以預(yù)測(cè)的研究,本文提出了一種靜態(tài)程序分析的方法,在保證數(shù)據(jù)一致的情況下,保守地...
【文章來(lái)源】:山東大學(xué)山東省 211工程院校 985工程院校 教育部直屬院校
【文章頁(yè)數(shù)】:59 頁(yè)
【學(xué)位級(jí)別】:碩士
【部分圖文】:
圖2-1現(xiàn)代NVIDIA?GPU架構(gòu)圖??基于論文[24]和我們自己的微基準(zhǔn)程序發(fā)現(xiàn),NVIDIA?GPU的一級(jí)緩存在寫(xiě)??命中時(shí)遵循寫(xiě)剔除策略
?狀態(tài)2??圖3-2數(shù)據(jù)緩存到一級(jí)緩存時(shí)一致性狀態(tài)圖??如圖3-2所示,狀態(tài)1中,數(shù)據(jù)x分別被SMO和SM1中的私有緩存中T狀態(tài)??2對(duì)于SMO,將x修改為x‘,SMO將其中的x剔除,并將X’寫(xiě)到共享的二級(jí)緩存??中,然而SM1對(duì)x進(jìn)行讀操作,那么SM丨讀取的是一個(gè)之前私有一級(jí)緩存的數(shù)??據(jù),然而這個(gè)數(shù)據(jù)對(duì)于整個(gè)系統(tǒng)是舊的數(shù)據(jù),因此導(dǎo)致了數(shù)據(jù)的不一致。??9??
自從NVIDIA?GPUKepler架構(gòu)以來(lái),私有片上緩存對(duì)于全局?jǐn)?shù)據(jù)??是通過(guò)旁路技術(shù)繞過(guò)的策略。然而對(duì)于許多緩存敏感類(lèi)型的GPU應(yīng)用程序來(lái)說(shuō),??繞過(guò)私有一級(jí)緩存會(huì)導(dǎo)致嚴(yán)重的性能下降。在圖3-1中,我們從PolyBench[6]基??準(zhǔn)程序集中,選取了應(yīng)用程序SYRK?(symmetric?rank-k?operations)進(jìn)行分析。由??于GPU?NVCC編譯器并不能自動(dòng)對(duì)緩存進(jìn)行優(yōu)化操作,我們通過(guò)上文提到的編譯??選項(xiàng)“-Xptxas-dloma”,將數(shù)據(jù)緩存到片上緩存,并與默認(rèn)策略進(jìn)行對(duì)比。??SYRK?=?ORI?%CA??2.5??k!?2?P?1-74??I?15?I???I?■??MM??TXl?TX2?GTX1060?AVG??圖3-1?SYRK中緩存與GPU性能的關(guān)系??在圖3-1中,我們將應(yīng)用程序SYRK分別在Jetson?TXl?,?Jetson?TX2和GTX??1060上測(cè)試運(yùn)行,并進(jìn)行了性能剖析,得到了兩種緩存使用策略的歸一化的性能??對(duì)比。圖中橫軸表示我們使用的三個(gè)實(shí)驗(yàn)平臺(tái),以及平均數(shù)據(jù);縱軸表示我們歸??一化的性能指標(biāo)歸一化的1PC?(Instruction?Per?Cycle),即每個(gè)周期執(zhí)行的指令數(shù)。??藍(lán)色0RI表示默認(rèn)緩存策略(所有的全局?jǐn)?shù)據(jù)都不會(huì)緩存到私有一級(jí)緩存)
【參考文獻(xiàn)】:
期刊論文
[1]片上多核處理器Cache一致性協(xié)議優(yōu)化研究綜述[J]. 胡森森,計(jì)衛(wèi)星,王一拙,陳旭,付文飛,石峰. 軟件學(xué)報(bào). 2017(04)
[2]多核處理器目錄緩存結(jié)構(gòu)設(shè)計(jì)[J]. 王恩東,唐士斌,陳繼承,王洪偉,倪璠,趙雅倩. 計(jì)算機(jī)研究與發(fā)展. 2015(06)
[3]片上多核處理器的結(jié)構(gòu)級(jí)功耗建模與優(yōu)化技術(shù)研究[J]. 張戈,胡偉武,黃琨,曾洪博,王君. 自然科學(xué)進(jìn)展. 2009(12)
博士論文
[1]片上多處理器體系結(jié)構(gòu)中Cache一致性模型研究[D]. 李功明.中國(guó)科學(xué)技術(shù)大學(xué) 2013
本文編號(hào):3461184
【文章來(lái)源】:山東大學(xué)山東省 211工程院校 985工程院校 教育部直屬院校
【文章頁(yè)數(shù)】:59 頁(yè)
【學(xué)位級(jí)別】:碩士
【部分圖文】:
圖2-1現(xiàn)代NVIDIA?GPU架構(gòu)圖??基于論文[24]和我們自己的微基準(zhǔn)程序發(fā)現(xiàn),NVIDIA?GPU的一級(jí)緩存在寫(xiě)??命中時(shí)遵循寫(xiě)剔除策略
?狀態(tài)2??圖3-2數(shù)據(jù)緩存到一級(jí)緩存時(shí)一致性狀態(tài)圖??如圖3-2所示,狀態(tài)1中,數(shù)據(jù)x分別被SMO和SM1中的私有緩存中T狀態(tài)??2對(duì)于SMO,將x修改為x‘,SMO將其中的x剔除,并將X’寫(xiě)到共享的二級(jí)緩存??中,然而SM1對(duì)x進(jìn)行讀操作,那么SM丨讀取的是一個(gè)之前私有一級(jí)緩存的數(shù)??據(jù),然而這個(gè)數(shù)據(jù)對(duì)于整個(gè)系統(tǒng)是舊的數(shù)據(jù),因此導(dǎo)致了數(shù)據(jù)的不一致。??9??
自從NVIDIA?GPUKepler架構(gòu)以來(lái),私有片上緩存對(duì)于全局?jǐn)?shù)據(jù)??是通過(guò)旁路技術(shù)繞過(guò)的策略。然而對(duì)于許多緩存敏感類(lèi)型的GPU應(yīng)用程序來(lái)說(shuō),??繞過(guò)私有一級(jí)緩存會(huì)導(dǎo)致嚴(yán)重的性能下降。在圖3-1中,我們從PolyBench[6]基??準(zhǔn)程序集中,選取了應(yīng)用程序SYRK?(symmetric?rank-k?operations)進(jìn)行分析。由??于GPU?NVCC編譯器并不能自動(dòng)對(duì)緩存進(jìn)行優(yōu)化操作,我們通過(guò)上文提到的編譯??選項(xiàng)“-Xptxas-dloma”,將數(shù)據(jù)緩存到片上緩存,并與默認(rèn)策略進(jìn)行對(duì)比。??SYRK?=?ORI?%CA??2.5??k!?2?P?1-74??I?15?I???I?■??MM??TXl?TX2?GTX1060?AVG??圖3-1?SYRK中緩存與GPU性能的關(guān)系??在圖3-1中,我們將應(yīng)用程序SYRK分別在Jetson?TXl?,?Jetson?TX2和GTX??1060上測(cè)試運(yùn)行,并進(jìn)行了性能剖析,得到了兩種緩存使用策略的歸一化的性能??對(duì)比。圖中橫軸表示我們使用的三個(gè)實(shí)驗(yàn)平臺(tái),以及平均數(shù)據(jù);縱軸表示我們歸??一化的性能指標(biāo)歸一化的1PC?(Instruction?Per?Cycle),即每個(gè)周期執(zhí)行的指令數(shù)。??藍(lán)色0RI表示默認(rèn)緩存策略(所有的全局?jǐn)?shù)據(jù)都不會(huì)緩存到私有一級(jí)緩存)
【參考文獻(xiàn)】:
期刊論文
[1]片上多核處理器Cache一致性協(xié)議優(yōu)化研究綜述[J]. 胡森森,計(jì)衛(wèi)星,王一拙,陳旭,付文飛,石峰. 軟件學(xué)報(bào). 2017(04)
[2]多核處理器目錄緩存結(jié)構(gòu)設(shè)計(jì)[J]. 王恩東,唐士斌,陳繼承,王洪偉,倪璠,趙雅倩. 計(jì)算機(jī)研究與發(fā)展. 2015(06)
[3]片上多核處理器的結(jié)構(gòu)級(jí)功耗建模與優(yōu)化技術(shù)研究[J]. 張戈,胡偉武,黃琨,曾洪博,王君. 自然科學(xué)進(jìn)展. 2009(12)
博士論文
[1]片上多處理器體系結(jié)構(gòu)中Cache一致性模型研究[D]. 李功明.中國(guó)科學(xué)技術(shù)大學(xué) 2013
本文編號(hào):3461184
本文鏈接:http://sikaile.net/kejilunwen/jisuanjikexuelunwen/3461184.html
最近更新
教材專(zhuān)著