[發(fā)明專(zhuān)利]一種基于CUDA實(shí)現(xiàn)多任務(wù)共享GPU的方法無(wú)效
| 申請(qǐng)?zhí)枺?/td> | 201210115719.0 | 申請(qǐng)日: | 2012-04-19 |
| 公開(kāi)(公告)號(hào): | CN102708009A | 公開(kāi)(公告)日: | 2012-10-03 |
| 發(fā)明(設(shè)計(jì))人: | 黃錕;陳一峯;蔣吳軍 | 申請(qǐng)(專(zhuān)利權(quán))人: | 華為技術(shù)有限公司;北京大學(xué) |
| 主分類(lèi)號(hào): | G06F9/50 | 分類(lèi)號(hào): | G06F9/50 |
| 代理公司: | 北京萬(wàn)象新悅知識(shí)產(chǎn)權(quán)代理事務(wù)所(普通合伙) 11360 | 代理人: | 蘇愛(ài)華 |
| 地址: | 518129 廣東省深圳市龍*** | 國(guó)省代碼: | 廣東;44 |
| 權(quán)利要求書(shū): | 查看更多 | 說(shuō)明書(shū): | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 基于 cuda 實(shí)現(xiàn) 任務(wù) 共享 gpu 方法 | ||
1.一種基于CUDA實(shí)現(xiàn)多任務(wù)共享GPU的方法,包括如下步驟:
1)在Global?Memory中建立映射表,確定合并后的Kernel中,每個(gè)Block執(zhí)行的任務(wù)編號(hào)和任務(wù)分塊編號(hào);
2)一次用一個(gè)Kernel啟動(dòng)N個(gè)Block,N等于所有任務(wù)的任務(wù)分塊數(shù)目之和;
3)用標(biāo)記和阻塞等待的方法,滿(mǎn)足原有任務(wù)之間的約束關(guān)系;
4)對(duì)于Shared?Memory,采用預(yù)申請(qǐng)和靜態(tài)分配的方式進(jìn)行多任務(wù)共享。
2.如權(quán)利要求1所述的方法,其特征是,步驟1)的實(shí)現(xiàn)方法如下:
1.1)映射表要給出Block到任務(wù)和任務(wù)分塊的映射關(guān)系,即確定某個(gè)Block執(zhí)行哪個(gè)任務(wù)的哪個(gè)分塊;
1.2)任務(wù)在映射表中的排布要求滿(mǎn)足約束條件的拓?fù)漤樞颍喝绻蝿?wù)A依賴(lài)于任務(wù)B,那么,執(zhí)行任務(wù)A的所有Block的ID編號(hào)應(yīng)該大于所有執(zhí)行任務(wù)B的Block的ID編號(hào);
1.3)在滿(mǎn)足步驟1.2)所述的約束條件的情況下,其他無(wú)約束關(guān)系任務(wù)在映射表中以任意的方式進(jìn)行排布。
3.如權(quán)利要求1所述的方法,其特征是,步驟2)的實(shí)現(xiàn)方法如下:
2.1)將原有的任務(wù)的grid維數(shù)轉(zhuǎn)換為一維;
2.2)若Block的維數(shù)不一致,則將之統(tǒng)一轉(zhuǎn)換為一維;若轉(zhuǎn)成一維之后Block的維度不一致,則統(tǒng)一選取一個(gè)最大的維度,讓其他較小的Block添加空線(xiàn)程補(bǔ)足,這樣所有的任務(wù)都采用了相同的Block維數(shù)和維度;
2.3)所有的Block在開(kāi)始執(zhí)行計(jì)算之前,首先從映射表中獲取該Block需要執(zhí)行的任務(wù)編號(hào)和任務(wù)分塊編號(hào);
2.4)根據(jù)步驟2.3)中讀取的任務(wù)編號(hào),選擇執(zhí)行不同的任務(wù)代碼;將步驟2.3)中讀取的任務(wù)分塊編號(hào),使用到具體的任務(wù)計(jì)算中去。
4.如權(quán)利要求1所述的方法,其特征是,步驟3)的實(shí)現(xiàn)方法如下:
3.1)給每個(gè)任務(wù)設(shè)置標(biāo)志位mark,每個(gè)任務(wù)的每個(gè)任務(wù)分塊設(shè)置標(biāo)記數(shù)組tag[],用以標(biāo)記任務(wù)和任務(wù)分塊的執(zhí)行情況;
3.2)對(duì)于任務(wù)的每一個(gè)任務(wù)分塊,在該任務(wù)分塊完成之后,將對(duì)應(yīng)的標(biāo)記位tag置位,表明該任務(wù)分塊已經(jīng)執(zhí)行結(jié)束;
3.3)用每個(gè)任務(wù)的最后一個(gè)Block,在計(jì)算返回前阻塞,循環(huán)檢查同一任務(wù)的其他任務(wù)分塊的對(duì)應(yīng)tag標(biāo)記位是否已經(jīng)被置位,一旦全部被置位,則對(duì)標(biāo)志位mark置位,表明該任務(wù)已經(jīng)結(jié)束;
3.4)如果任務(wù)A需要依賴(lài)于任務(wù)B,那么在任務(wù)A計(jì)算開(kāi)始之前阻塞,循環(huán)檢測(cè)B的任務(wù)標(biāo)志位mark,直到其置位。
5.如權(quán)利要求1所述的方法,其特征是,步驟4)的實(shí)現(xiàn)方法如下:
4.1)預(yù)先在Kernel開(kāi)始的時(shí)候,申請(qǐng)一個(gè)足夠大的Shared?Memory數(shù)組,其大小至少應(yīng)該等于每個(gè)任務(wù)所需要的Shared?Memory用量的最大值;
4.2)每個(gè)任務(wù)單獨(dú)寫(xiě)成一個(gè)函數(shù),將Shared?Memory數(shù)組地址傳給這個(gè)函數(shù),函數(shù)中需要使用Shared?Memory的時(shí)候,直接在這個(gè)數(shù)組中靜態(tài)分配使用。
該專(zhuān)利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專(zhuān)利權(quán)人授權(quán)。該專(zhuān)利全部權(quán)利屬于華為技術(shù)有限公司;北京大學(xué),未經(jīng)華為技術(shù)有限公司;北京大學(xué)許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買(mǎi)此專(zhuān)利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201210115719.0/1.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專(zhuān)利網(wǎng)。
- 上一篇:一種基于人體特征的三維服裝放碼方法
- 下一篇:一種孔徑填充裝置及方法
- 同類(lèi)專(zhuān)利
- 專(zhuān)利分類(lèi)
- 一種CUDA環(huán)形網(wǎng)絡(luò)與H265協(xié)議互連的方法
- 一種提高計(jì)算機(jī)并行計(jì)算編程自動(dòng)化程度的方法
- 一種基于CUDA實(shí)現(xiàn)聚類(lèi)的方法及裝置
- CUDA高性能SAR信號(hào)處理裝置
- 無(wú)線(xiàn)數(shù)據(jù)分析方法、裝置及CUDA實(shí)體
- 基于Docker原生CentOS的CUDA的安裝方法、裝置及設(shè)備
- 一種面向GPU計(jì)算性能問(wèn)題的溯源方法
- 一種高性能的帶權(quán)標(biāo)準(zhǔn)差背景建模方法
- 一種編程語(yǔ)言的轉(zhuǎn)換方法及系統(tǒng)
- CUDA程序移植方法、裝置、電子設(shè)備及存儲(chǔ)介質(zhì)
- 互動(dòng)業(yè)務(wù)終端、實(shí)現(xiàn)系統(tǒng)及實(shí)現(xiàn)方法
- 街景地圖的實(shí)現(xiàn)方法和實(shí)現(xiàn)系統(tǒng)
- 游戲?qū)崿F(xiàn)系統(tǒng)和游戲?qū)崿F(xiàn)方法
- 圖像實(shí)現(xiàn)裝置及其圖像實(shí)現(xiàn)方法
- 增強(qiáng)現(xiàn)實(shí)的實(shí)現(xiàn)方法以及實(shí)現(xiàn)裝置
- 軟件架構(gòu)的實(shí)現(xiàn)方法和實(shí)現(xiàn)平臺(tái)
- 數(shù)值預(yù)報(bào)的實(shí)現(xiàn)方法及實(shí)現(xiàn)系統(tǒng)
- 空調(diào)及其冬眠控制模式實(shí)現(xiàn)方法和實(shí)現(xiàn)裝置以及實(shí)現(xiàn)系統(tǒng)
- 空調(diào)及其睡眠控制模式實(shí)現(xiàn)方法和實(shí)現(xiàn)裝置以及實(shí)現(xiàn)系統(tǒng)
- 輸入設(shè)備實(shí)現(xiàn)方法及其實(shí)現(xiàn)裝置
- 任務(wù)協(xié)作裝置及方法
- 用于量化任務(wù)價(jià)值的任務(wù)管理方法及裝置
- 用于運(yùn)行任務(wù)的系統(tǒng)、方法和裝置
- 一種分布式任務(wù)調(diào)度系統(tǒng)及方法
- 任務(wù)信息處理方法
- 一種同步任務(wù)異步執(zhí)行的方法和調(diào)度系統(tǒng)
- 數(shù)據(jù)處理方法、裝置、電子設(shè)備及計(jì)算機(jī)可讀介質(zhì)
- 一種自動(dòng)分配和推送的任務(wù)管理平臺(tái)及方法
- 程序執(zhí)行控制的裝置及方法、終端和存儲(chǔ)介質(zhì)
- 基于會(huì)話(huà)的任務(wù)待辦方法、系統(tǒng)、電子設(shè)備及存儲(chǔ)介質(zhì)





