[發(fā)明專利]GPU讀寫單元通過(guò)操作數(shù)收集器訪問(wèn)寄存器文件的方法有效
| 申請(qǐng)?zhí)枺?/td> | 202110044102.3 | 申請(qǐng)日: | 2021-01-13 |
| 公開(kāi)(公告)號(hào): | CN112817639B | 公開(kāi)(公告)日: | 2022-04-08 |
| 發(fā)明(設(shè)計(jì))人: | 李炳超;李滸;劉寶煜;劉著萌;廖于一;劉丁銘 | 申請(qǐng)(專利權(quán))人: | 中國(guó)民航大學(xué) |
| 主分類號(hào): | G06F9/30 | 分類號(hào): | G06F9/30;G06F12/0875 |
| 代理公司: | 天津市北洋有限責(zé)任專利代理事務(wù)所 12201 | 代理人: | 李林娟 |
| 地址: | 300300 天*** | 國(guó)省代碼: | 天津;12 |
| 權(quán)利要求書: | 查看更多 | 說(shuō)明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | gpu 讀寫 單元 通過(guò) 作數(shù) 收集 訪問(wèn) 寄存器 文件 方法 | ||
本發(fā)明公開(kāi)了一種GPU讀寫單元通過(guò)操作數(shù)收集器訪問(wèn)寄存器文件的方法,包括:當(dāng)所有的操作數(shù)都獲取完畢后,第一解復(fù)用器的選擇信號(hào)為假,獲取的操作數(shù)通過(guò)第一解復(fù)用器將數(shù)據(jù)分發(fā)給讀寫單元中的訪存請(qǐng)求生成器,同時(shí)操作數(shù)收集器的非空信號(hào)為假;若發(fā)生命中并且命中數(shù)據(jù)位于L1cache中,數(shù)據(jù)行索引信號(hào)通過(guò)第二解復(fù)用器和第五多路選擇器被發(fā)送到L1cache,將獲取的數(shù)據(jù)通過(guò)第一多路選擇器發(fā)送到數(shù)據(jù)緩沖器;若發(fā)生命中并且訪存數(shù)據(jù)位于寄存器文件中,數(shù)據(jù)行索引信號(hào)通過(guò)第二解復(fù)用器和第四多路選擇器被發(fā)送到地址轉(zhuǎn)換單元,將數(shù)據(jù)行索引轉(zhuǎn)換為寄存器地址,經(jīng)第五解復(fù)用器和第一控制邏輯發(fā)送到操作數(shù)收集器,操作數(shù)收集器的非空信號(hào)變?yōu)檎妗?/p>
技術(shù)領(lǐng)域
本發(fā)明涉及GPU(圖形處理器)中的cache(高速緩沖存儲(chǔ)器)和寄存器文件體系結(jié)構(gòu)領(lǐng)域,尤其涉及一種GPU讀寫單元通過(guò)操作數(shù)收集器訪問(wèn)寄存器文件的方法,從而能夠使訪存數(shù)據(jù)保存到寄存器文件中,間接增大了L1cache(一級(jí)高速緩沖存儲(chǔ)器)的有效容量。
背景技術(shù)
近年來(lái),GPU已經(jīng)發(fā)展成一種多線程的高性能并行通用計(jì)算平臺(tái),并且GPU的計(jì)算能力隨著工藝技術(shù)的發(fā)展仍然在快速提高。與傳統(tǒng)的CPU相比,GPU在處理能力和儲(chǔ)存器帶寬上有著明顯的優(yōu)勢(shì),在成本和功耗上也不需要付出太大的代價(jià),吸引著越來(lái)越多的應(yīng)用程序在GPU上進(jìn)行加速。
在GPU軟件層面,應(yīng)用程序在GPU上運(yùn)行時(shí),首先需要將應(yīng)用程序的任務(wù)細(xì)分為若干個(gè)可以獨(dú)立運(yùn)行的線程,再將多個(gè)線程組織成線程塊,線程塊的大小由軟件來(lái)決定[1]。在GPU硬件層面,一個(gè)GPU由若干流多處理器、片內(nèi)互聯(lián)網(wǎng)絡(luò)以及存儲(chǔ)器構(gòu)成。流多處理器內(nèi)部具有支持多線程并行運(yùn)行的寄存器文件,標(biāo)量處理器,特殊功能單元,讀寫單元,共享存儲(chǔ)器,L1cache等硬件資源。線程以線程塊為單位分別被發(fā)送到各個(gè)流多處理器上進(jìn)行執(zhí)行,而在流多處理器內(nèi)部,線程塊內(nèi)的線程又被硬件組織為大小固定的線程束,線程束是GPU的最基本的調(diào)度單元[2]。線程束內(nèi)的線程以并行的方式運(yùn)行,共享同一程序計(jì)數(shù)器。不同的線程束則通過(guò)線程束調(diào)度器的調(diào)度以零代價(jià)進(jìn)行交替執(zhí)行,從而隱藏操作延遲。
為了支持線程束之間的交替運(yùn)行,需要為每個(gè)線程束分配獨(dú)立的寄存器文件空間,并且線程束所需的寄存器文件空間會(huì)隨著內(nèi)核的不同而變化。另外,由于每個(gè)流多處理器能夠支持?jǐn)?shù)十個(gè)線程束,因此寄存器文件的容量可達(dá)上百KB[3]。而L1cache的容量?jī)H有數(shù)十KB,并且不同于寄存器文件的獨(dú)立分區(qū),L1cache被流多處理器內(nèi)的所有線程共享。在一些不規(guī)則的應(yīng)用程序中,線程會(huì)對(duì)L1cache產(chǎn)生惡性競(jìng)爭(zhēng),造成L1cache命中率較低、無(wú)法全面發(fā)揮GPU的計(jì)算能力[4]。
參考文獻(xiàn)
[1]NVIDIA Corporation.2015.NVIDIA CUDA C Programming Guide
[2]E.Lindholm,J.Nickolls,S.Oberman,J.Montrym.“NVIDIA Tesla:A UnifiedGraphics and Computing Architecture”,IEEE Micro,vol.28,no.2,pp.39-55,2008.
[3]M.K.Yoon,K.Kim,S.Lee,W.W.Ro,and M.Annavaram.2016.Virtual thread:Maximizing thread-level parallelism beyond GPU scheduling limit.InProceedings of the IEEE/ACM International Symposium on Computer Architecture(ISCA’16).609–621.
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于中國(guó)民航大學(xué),未經(jīng)中國(guó)民航大學(xué)許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202110044102.3/2.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專利網(wǎng)。
- 圖形處理器任務(wù)的分配方法和裝置
- 一種資源調(diào)度裝置、資源調(diào)度系統(tǒng)和資源調(diào)度方法
- 一種免工具GPU支架固定裝置
- 一種YARN集群GPU資源調(diào)度方法、裝置和介質(zhì)
- 一種服務(wù)器內(nèi)4GPU布局結(jié)構(gòu)及其安裝方法
- 一種GPU資源調(diào)度系統(tǒng)及其調(diào)度方法
- 一種GPU拓?fù)浞謪^(qū)方法與裝置
- 一種基于Kubernetes的共享GPU調(diào)度方法
- 一種數(shù)據(jù)處理的方法和裝置
- 一種GPU分配方法、系統(tǒng)、存儲(chǔ)介質(zhì)及設(shè)備





