[發(fā)明專利]將區(qū)別屬性的存儲(chǔ)器分配給共享數(shù)據(jù)對(duì)象的系統(tǒng)和方法無效
| 申請(qǐng)?zhí)枺?/td> | 201310538409.4 | 申請(qǐng)日: | 2013-11-04 |
| 公開(公告)號(hào): | CN103885751A | 公開(公告)日: | 2014-06-25 |
| 發(fā)明(設(shè)計(jì))人: | 杰迪普·馬拉蒂;林源;高塔姆·查克拉瓦蒂;權(quán)冠;阿米特·薩布尼 | 申請(qǐng)(專利權(quán))人: | 輝達(dá)公司 |
| 主分類號(hào): | G06F9/38 | 分類號(hào): | G06F9/38 |
| 代理公司: | 北京市磐華律師事務(wù)所 11336 | 代理人: | 謝栒;魏寧 |
| 地址: | 美國(guó)加利*** | 國(guó)省代碼: | 美國(guó);US |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 區(qū)別 屬性 存儲(chǔ)器 配給 共享 數(shù)據(jù) 對(duì)象 系統(tǒng) 方法 | ||
相關(guān)申請(qǐng)的交叉引用
本申請(qǐng)要求于2012年11月5日由Lin等人所提交的、序列號(hào)為61/722,661的、標(biāo)題為“EXECUTING?SEQUENTIAL?CODE?USING?A?GROUP?OF?THREADS”的美國(guó)臨時(shí)申請(qǐng)以及于2012年12月21日由Lin等人所提交的、序列號(hào)為13/724,089的、標(biāo)題為“SYSTEM?AND?METHOD?FOR?ALLOCATING?MEMORY?OF?DIFFERING?PROPERTIES?TO?SHARED?DATA?OBJECTS”的美國(guó)申請(qǐng)的優(yōu)先權(quán),在先申請(qǐng)與本申請(qǐng)共同受讓,并在本文通過援引的方式對(duì)二者加以合并。
技術(shù)領(lǐng)域
本申請(qǐng)總地指向并行處理器,并且,更具體地,指向用于將區(qū)別屬性的存儲(chǔ)器分配給共享數(shù)據(jù)對(duì)象的系統(tǒng)和方法。
背景技術(shù)
如相關(guān)領(lǐng)域技術(shù)人員意識(shí)到的,可并行地執(zhí)行應(yīng)用以增加其性能。數(shù)據(jù)并行應(yīng)用在不同數(shù)據(jù)上并發(fā)實(shí)行相同進(jìn)程。任務(wù)并行應(yīng)用在相同數(shù)據(jù)上并發(fā)實(shí)行不同進(jìn)程。靜態(tài)并行應(yīng)用是具有可在其執(zhí)行之前被確定的并行度級(jí)別的應(yīng)用。相反,由動(dòng)態(tài)并行應(yīng)用可達(dá)到的并行度僅可隨著其執(zhí)行而被確定。無論應(yīng)用是數(shù)據(jù)或任務(wù)并行、或靜態(tài)或動(dòng)態(tài)并行,其可在管線中執(zhí)行,這通常是用于圖形應(yīng)用的情況。
某些計(jì)算系統(tǒng),諸如單指令、多數(shù)據(jù)(SIMD)處理器,尤其擅長(zhǎng)執(zhí)行數(shù)據(jù)并行應(yīng)用。SIMD處理器中的管線控制單元?jiǎng)?chuàng)建執(zhí)行的線程組并調(diào)度其用于執(zhí)行,在執(zhí)行期間組中的所有線程并發(fā)執(zhí)行相同指令。在一個(gè)特定處理器中,每個(gè)組具有32個(gè)線程,與SIMD處理器中的32個(gè)執(zhí)行管線或通道(lane)相對(duì)應(yīng)。
考慮實(shí)現(xiàn)在并行處理計(jì)算系統(tǒng)上的交叉-合并(fork-join)并行編程模型諸如OpenMP或OpenACC。在該模型中,程序代碼的一些部分僅由一個(gè)線程(“主”線程)所執(zhí)行,而其他部分由并行的多個(gè)線程(“工作者”線程)所執(zhí)行。執(zhí)行以僅主線程活動(dòng)而開始。在工作創(chuàng)建構(gòu)造處,當(dāng)主線程激活工作者線程并對(duì)每個(gè)工作者指派“執(zhí)行任務(wù)”諸如循環(huán)的某個(gè)數(shù)目的迭代時(shí),執(zhí)行被分叉。工作者線程隨后典型地并行執(zhí)行其被指派的任務(wù)。一旦工作者線程結(jié)束,則它們停用,并且當(dāng)主線程恢復(fù)其余程序代碼的執(zhí)行時(shí)執(zhí)行被合并。當(dāng)僅一個(gè)線程活動(dòng)時(shí)的程序執(zhí)行期在本文將稱為順序區(qū)或階段,并且當(dāng)多于一個(gè)線程活動(dòng)時(shí)的程序執(zhí)行期在本文將稱為并行區(qū)或階段。
在包括OpenMP和OpenACC的許多交叉-合并模型中,可在并行區(qū)中訪問被分配在順序區(qū)中的數(shù)據(jù)對(duì)象。因此,并行處理器架構(gòu)提供存儲(chǔ)器用于存儲(chǔ)數(shù)據(jù)對(duì)象,多個(gè)線程在它們的執(zhí)行期間可獲得對(duì)該數(shù)據(jù)對(duì)象的訪問權(quán)限。可由許多屬性來表征該存儲(chǔ)器,包括大小、時(shí)延、易失性和其他,以及它們的伴隨的優(yōu)點(diǎn)和缺點(diǎn)。
發(fā)明內(nèi)容
一個(gè)方面提供用于將區(qū)別屬性的共享存儲(chǔ)器分配給共享數(shù)據(jù)對(duì)象的系統(tǒng)和混合堆棧(hybrid?stack)數(shù)據(jù)結(jié)構(gòu)。在一個(gè)實(shí)施例中,系統(tǒng)包括:(1)混合堆棧創(chuàng)建器,配置為在共享存儲(chǔ)器中創(chuàng)建具有較低部分和較高部分的混合堆棧數(shù)據(jù)結(jié)構(gòu),該較低部分具有較多有利屬性,該較高部分具有較少有利屬性,以及(2)數(shù)據(jù)對(duì)象分配器,與混合堆棧創(chuàng)建器相關(guān)聯(lián)并配置為如果較低部分具有充足剩余容量以包含共享數(shù)據(jù)對(duì)象那么將用于共享數(shù)據(jù)對(duì)象的存儲(chǔ)分配在較低部分中,以及如果較低部分具有不足的剩余容量以包含共享數(shù)據(jù)對(duì)象那么可替代地將用于共享數(shù)據(jù)對(duì)象的存儲(chǔ)分配在較高部分中。
另一方面提供將區(qū)別屬性的共享存儲(chǔ)器分配給共享數(shù)據(jù)對(duì)象的方法。在一個(gè)實(shí)施例中,方法包括:(1)在共享存儲(chǔ)器中創(chuàng)建混合堆棧數(shù)據(jù)結(jié)構(gòu),該數(shù)據(jù)結(jié)構(gòu)具有較低部分和較高部分,該較低部分具有較多有利屬性,該較高部分較少有利屬性,(2)當(dāng)線程要求共享數(shù)據(jù)對(duì)象時(shí),(2a)如果較低部分具有充足剩余容量以包含共享數(shù)據(jù)對(duì)象那么將用于共享數(shù)據(jù)對(duì)象的存儲(chǔ)分配在較低部分中,以及(2b)如果較低部分具有不足的剩余容量以包含共享數(shù)據(jù)對(duì)象那么可替代地將用于共享數(shù)據(jù)對(duì)象的存儲(chǔ)分配在較高部分中,以及(3)當(dāng)沒有線程進(jìn)一步要求共享數(shù)據(jù)對(duì)象時(shí),釋放存儲(chǔ)。
又一方面提供混合堆棧數(shù)據(jù)結(jié)構(gòu)。在一個(gè)實(shí)施例中,數(shù)據(jù)結(jié)構(gòu)包括:(1)共享存儲(chǔ)器中的具有較多有利屬性的較低部分,以及(2)共享存儲(chǔ)器中的具有較少有利屬性的較高部分。
附圖說明
現(xiàn)在結(jié)合附圖對(duì)下面的描述加以參考,其中:
圖1是并行處理器的框圖,并行處理器可操作以包含或?qū)嵭杏糜趯^(qū)別屬性的存儲(chǔ)器分配給共享數(shù)據(jù)對(duì)象的系統(tǒng)或方法;
圖2是混合堆棧的一個(gè)實(shí)施例的圖示;以及
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于輝達(dá)公司,未經(jīng)輝達(dá)公司許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310538409.4/2.html,轉(zhuǎn)載請(qǐng)聲明來源鉆瓜專利網(wǎng)。
- 上一篇:多線程處理單元中可編程的混合
- 下一篇:燃料電池系統(tǒng)的控制裝置
- 用于控制非易失性存儲(chǔ)器的控制器
- 處理器、存儲(chǔ)器、計(jì)算機(jī)系統(tǒng)、系統(tǒng)LSI及其驗(yàn)證方法
- 存儲(chǔ)和檢索處理系統(tǒng)的數(shù)據(jù)的存儲(chǔ)器系統(tǒng)和性能監(jiān)視方法
- 用于控制半導(dǎo)體裝置的方法
- 存儲(chǔ)器存儲(chǔ)裝置及其測(cè)試方法
- 存儲(chǔ)器裝置及可促進(jìn)張量存儲(chǔ)器存取的方法
- 使用雙通道存儲(chǔ)器作為具有間隔的單通道存儲(chǔ)器
- 用于管理存儲(chǔ)器訪問操作的方法和系統(tǒng)
- 存儲(chǔ)器控制器、存儲(chǔ)裝置和存儲(chǔ)裝置的操作方法
- 具有部分組刷新的存儲(chǔ)器





