[發(fā)明專利]數(shù)據(jù)布局方法及其裝置有效
| 申請(qǐng)?zhí)枺?/td> | 201210417584.3 | 申請(qǐng)日: | 2012-10-26 |
| 公開(kāi)(公告)號(hào): | CN102968388A | 公開(kāi)(公告)日: | 2013-03-13 |
| 發(fā)明(設(shè)計(jì))人: | 王淼;孫俊;尤洪濤;姜小成;張立博;金星;毛智輝 | 申請(qǐng)(專利權(quán))人: | 無(wú)錫江南計(jì)算技術(shù)研究所 |
| 主分類號(hào): | G06F12/08 | 分類號(hào): | G06F12/08 |
| 代理公司: | 北京集佳知識(shí)產(chǎn)權(quán)代理有限公司 11227 | 代理人: | 駱蘇華 |
| 地址: | 214083 江蘇*** | 國(guó)省代碼: | 江蘇;32 |
| 權(quán)利要求書(shū): | 查看更多 | 說(shuō)明書(shū): | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 數(shù)據(jù) 布局 方法 及其 裝置 | ||
技術(shù)領(lǐng)域
本發(fā)明涉及異構(gòu)眾核處理器技術(shù),特別涉及一種數(shù)據(jù)布局方法和裝置。
背景技術(shù)
異構(gòu)眾核處理器包含一個(gè)主處理器核(主核)和多個(gè)從處理器核(從核),通過(guò)集成不同類型的內(nèi)核來(lái)提升效率和性能。一般來(lái)說(shuō),主核負(fù)責(zé)資源管理和調(diào)度,從核負(fù)責(zé)加速應(yīng)用,每個(gè)從核通常擁有一個(gè)容量有限的片上局部存儲(chǔ),用來(lái)存儲(chǔ)和處理所需數(shù)據(jù)。
在異構(gòu)眾核處理器中,某些規(guī)則的應(yīng)用程序映射到多個(gè)從核上后,在程序的執(zhí)行過(guò)程中,多個(gè)從核之間需要進(jìn)行邊界通訊來(lái)獲取邊界數(shù)據(jù)。目前,大部分異構(gòu)眾核編譯器是基于共享存儲(chǔ)編程模型將程序映射到異構(gòu)眾核處理器上。這種模式無(wú)法充分利用從核的片上局部存儲(chǔ)空間,并導(dǎo)致額外的訪存開(kāi)銷。
具體地,在共享存儲(chǔ)模型中,共享數(shù)據(jù)在主存存放,從核處理所需的私有數(shù)據(jù)在從核的片上局部存儲(chǔ)中存放,編譯器通過(guò)插入DMA操作使每個(gè)協(xié)處理器核訪問(wèn)主存中的共享數(shù)據(jù),由于在共享存儲(chǔ)模型中,邊界數(shù)據(jù)被看作共享數(shù)據(jù)放在主存,因此大量的邊界數(shù)據(jù)會(huì)產(chǎn)生繁重的主存訪問(wèn)開(kāi)銷,從而降低程序性能。例如,在模板處理(stencil?computation)這類問(wèn)題中,多維網(wǎng)格中每個(gè)點(diǎn)的值都需要被反復(fù)更新,而更新某個(gè)元素時(shí)需要相鄰元素來(lái)進(jìn)行輔助處理,從核在處理時(shí)需要進(jìn)行邊界通訊來(lái)獲取位于邊界的相鄰元素,如果采用共享存儲(chǔ)模型,將模板處理映射到異構(gòu)眾核上會(huì)產(chǎn)生大量的訪存,導(dǎo)致程序性能下降。
因此,有待提出一種新的數(shù)據(jù)布局方法和裝置,以充分利用從核的片上局部存儲(chǔ)空間,減少訪存開(kāi)銷,從而提高程序的執(zhí)行速度和性能。
發(fā)明內(nèi)容
本發(fā)明解決的問(wèn)題是提出一種新的數(shù)據(jù)布局方法和裝置,以充分利用從核的片上局部存儲(chǔ)空間,減少訪存開(kāi)銷,從而提高程序的執(zhí)行速度和性能。
為解決上述問(wèn)題,本發(fā)明的實(shí)施例提供了一種數(shù)據(jù)布局方法,所述方法包括:將第一代碼所處理的第一數(shù)據(jù)塊劃分成多個(gè)第二數(shù)據(jù)塊,其中每一個(gè)第二數(shù)據(jù)塊和一個(gè)處理器核對(duì)應(yīng);根據(jù)所述第一代碼確定每一個(gè)第二數(shù)據(jù)塊對(duì)應(yīng)的邊界數(shù)據(jù),所述邊界數(shù)據(jù)是根據(jù)所述第一代碼的處理邏輯完成對(duì)第二數(shù)據(jù)塊的處理時(shí)所需要的但不被所述第二數(shù)據(jù)塊包含的數(shù)據(jù);為每一個(gè)第二數(shù)據(jù)塊和對(duì)應(yīng)的邊界數(shù)據(jù)在對(duì)應(yīng)的處理器核中申請(qǐng)局部存儲(chǔ)空間;以及根據(jù)所述第一代碼生成與每一個(gè)第二數(shù)據(jù)塊對(duì)應(yīng)的第二代碼,所述第二代碼能在第二數(shù)據(jù)塊對(duì)應(yīng)的處理器核中根據(jù)所述第一代碼的處理邏輯完成對(duì)所述第二數(shù)據(jù)塊的處理。
可選地,當(dāng)所述第一數(shù)據(jù)塊為所述第一代碼中參與并行循環(huán)的數(shù)組時(shí),將所述第一數(shù)據(jù)塊劃分成多個(gè)第二數(shù)據(jù)塊的方法包括:確定所述數(shù)組中參與并行循環(huán)的維度;以及根據(jù)所述數(shù)組中參與并行循環(huán)的維度將所述數(shù)組劃分成多個(gè)第二數(shù)據(jù)塊。
可選地,所述方法還包括:根據(jù)目標(biāo)機(jī)中處理器核的數(shù)量以及所述第二數(shù)據(jù)塊的預(yù)定大小確定所述第一數(shù)據(jù)塊被劃分的個(gè)數(shù)。
可選地,為每一個(gè)第二數(shù)據(jù)塊和對(duì)應(yīng)的邊界數(shù)據(jù)在對(duì)應(yīng)的處理器核中申請(qǐng)局部存儲(chǔ)空間的方法包括:確定所述每一個(gè)第二數(shù)據(jù)塊和對(duì)應(yīng)的邊界數(shù)據(jù)的大小;以及根據(jù)每一個(gè)第二數(shù)據(jù)塊和對(duì)應(yīng)的邊界數(shù)據(jù)的大小在對(duì)應(yīng)的處理器核中申請(qǐng)局部存儲(chǔ)空間。
可選地,第二代碼包括第三代碼、第四代碼和第五代碼,所述第三代碼用于將與所述第二代碼對(duì)應(yīng)的第二數(shù)據(jù)塊以及邊界數(shù)據(jù)從主存導(dǎo)入對(duì)應(yīng)處理器核的局部存儲(chǔ)空間,所述第四代碼根據(jù)所述第一代碼的處理邏輯對(duì)所述第二代碼對(duì)應(yīng)的第二數(shù)據(jù)塊進(jìn)行處理,所述第五代碼用于將與所述第二代碼對(duì)應(yīng)的第二數(shù)據(jù)塊的處理結(jié)果從對(duì)應(yīng)處理器核的局部存儲(chǔ)空間寫(xiě)回主存。
可選地,所述第三代碼和第五代碼為直接內(nèi)存存取操作代碼(DMA)。
本發(fā)明的實(shí)施例還提供了一種數(shù)據(jù)布局裝置,所述裝置包括:數(shù)據(jù)劃分單元,用于將第一代碼所處理的第一數(shù)據(jù)塊劃分成多個(gè)第二數(shù)據(jù)塊,其中每一個(gè)第二數(shù)據(jù)塊和一個(gè)處理器核對(duì)應(yīng);邊界數(shù)據(jù)確定單元,用于根據(jù)所述第一代碼確定每一個(gè)第二數(shù)據(jù)塊對(duì)應(yīng)的邊界數(shù)據(jù),所述邊界數(shù)據(jù)是根據(jù)所述第一代碼的處理邏輯完成對(duì)第二數(shù)據(jù)塊的處理時(shí)所需要的但不被所述第二數(shù)據(jù)塊包含的數(shù)據(jù);數(shù)據(jù)映射單元,用于為每一個(gè)第二數(shù)據(jù)塊和對(duì)應(yīng)的邊界數(shù)據(jù)在對(duì)應(yīng)的處理器核中申請(qǐng)局部存儲(chǔ)空間;以及處理劃分單元,用于根據(jù)所述第一代碼生成與每一個(gè)第二數(shù)據(jù)塊對(duì)應(yīng)的第二代碼,所述第二代碼能在第二數(shù)據(jù)塊對(duì)應(yīng)的處理器核中根據(jù)所述第一代碼的處理邏輯完成對(duì)所述第二數(shù)據(jù)塊的處理。
可選地,所述第一數(shù)據(jù)塊為所述第一代碼中參與并行循環(huán)的數(shù)組,在將所述第一數(shù)據(jù)塊分成多個(gè)第二數(shù)據(jù)塊的過(guò)程中,所述數(shù)據(jù)劃分單元用于確定所述數(shù)組中參與并行循環(huán)的維度,以及根據(jù)所述數(shù)組中參與并行循環(huán)的維度將所述數(shù)組劃分成多個(gè)第二數(shù)據(jù)塊。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于無(wú)錫江南計(jì)算技術(shù)研究所,未經(jīng)無(wú)錫江南計(jì)算技術(shù)研究所許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買(mǎi)此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201210417584.3/2.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專利網(wǎng)。
- 同類專利
- 專利分類
- 數(shù)據(jù)顯示系統(tǒng)、數(shù)據(jù)中繼設(shè)備、數(shù)據(jù)中繼方法、數(shù)據(jù)系統(tǒng)、接收設(shè)備和數(shù)據(jù)讀取方法
- 數(shù)據(jù)記錄方法、數(shù)據(jù)記錄裝置、數(shù)據(jù)記錄媒體、數(shù)據(jù)重播方法和數(shù)據(jù)重播裝置
- 數(shù)據(jù)發(fā)送方法、數(shù)據(jù)發(fā)送系統(tǒng)、數(shù)據(jù)發(fā)送裝置以及數(shù)據(jù)結(jié)構(gòu)
- 數(shù)據(jù)顯示系統(tǒng)、數(shù)據(jù)中繼設(shè)備、數(shù)據(jù)中繼方法及數(shù)據(jù)系統(tǒng)
- 數(shù)據(jù)嵌入裝置、數(shù)據(jù)嵌入方法、數(shù)據(jù)提取裝置及數(shù)據(jù)提取方法
- 數(shù)據(jù)管理裝置、數(shù)據(jù)編輯裝置、數(shù)據(jù)閱覽裝置、數(shù)據(jù)管理方法、數(shù)據(jù)編輯方法以及數(shù)據(jù)閱覽方法
- 數(shù)據(jù)發(fā)送和數(shù)據(jù)接收設(shè)備、數(shù)據(jù)發(fā)送和數(shù)據(jù)接收方法
- 數(shù)據(jù)發(fā)送裝置、數(shù)據(jù)接收裝置、數(shù)據(jù)收發(fā)系統(tǒng)、數(shù)據(jù)發(fā)送方法、數(shù)據(jù)接收方法和數(shù)據(jù)收發(fā)方法
- 數(shù)據(jù)發(fā)送方法、數(shù)據(jù)再現(xiàn)方法、數(shù)據(jù)發(fā)送裝置及數(shù)據(jù)再現(xiàn)裝置
- 數(shù)據(jù)發(fā)送方法、數(shù)據(jù)再現(xiàn)方法、數(shù)據(jù)發(fā)送裝置及數(shù)據(jù)再現(xiàn)裝置
- 一種數(shù)據(jù)庫(kù)讀寫(xiě)分離的方法和裝置
- 一種手機(jī)動(dòng)漫人物及背景創(chuàng)作方法
- 一種通訊綜合測(cè)試終端的測(cè)試方法
- 一種服裝用人體測(cè)量基準(zhǔn)點(diǎn)的獲取方法
- 系統(tǒng)升級(jí)方法及裝置
- 用于虛擬和接口方法調(diào)用的裝置和方法
- 線程狀態(tài)監(jiān)控方法、裝置、計(jì)算機(jī)設(shè)備和存儲(chǔ)介質(zhì)
- 一種JAVA智能卡及其虛擬機(jī)組件優(yōu)化方法
- 檢測(cè)程序中方法耗時(shí)的方法、裝置及存儲(chǔ)介質(zhì)
- 函數(shù)的執(zhí)行方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)





