欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種調(diào)度gpu進(jìn)行批量運(yùn)算的方法及裝置的制造方法

文檔序號(hào):9471247閱讀:656來源:國知局
一種調(diào)度gpu進(jìn)行批量運(yùn)算的方法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001 ] 本發(fā)明涉及GPU并行計(jì)算領(lǐng)域,尤其是一種調(diào)度GPU進(jìn)行批量運(yùn)算的方法及裝置。
【背景技術(shù)】
[0002]GPU (Graphics Processing Unit,圖形處理單元)可以理解為可編程的顯卡,在計(jì)算機(jī)中用于圖形圖像的處理。經(jīng)過最近幾年的發(fā)展,GPU已經(jīng)不限于圖形圖像處理,還應(yīng)用到大規(guī)模的并行計(jì)算領(lǐng)域,使用GPU并行計(jì)算技術(shù),有可能使算法的性能獲得數(shù)倍的提升。
[0003]單塊GPU通常具有成百上千的CORE (核心運(yùn)算單元),遠(yuǎn)遠(yuǎn)超過CPU CORE的數(shù)量,GPU非常適合于執(zhí)行可高度并行化的密集型計(jì)算任務(wù),相比同價(jià)位的CPU而言,GPU所用用的CORE數(shù)可比CPU高數(shù)百倍,使用GPU執(zhí)行這些任務(wù),往往能提升數(shù)倍的性能。GPU技術(shù)未來將改變商業(yè)應(yīng)用、科學(xué)計(jì)算、云計(jì)算、計(jì)算機(jī)可視化系統(tǒng)、游戲和機(jī)器人等領(lǐng)域,甚至重新定義我們所熟知的計(jì)算機(jī)編程方式。
[0004]GPU雖然具有比CPU更多的CORE,但由于GPU內(nèi)部是以16個(gè)CORE為一組單位進(jìn)行調(diào)度的,也就是說,即使一個(gè)任務(wù)只需要一個(gè)C0RE,但在GPU內(nèi)部,仍然會(huì)最少占用16個(gè)CORE。因此,需要批量地向GPU提交運(yùn)算任務(wù),才能同時(shí)調(diào)度更多的CORE進(jìn)行運(yùn)算;并且,并發(fā)的任務(wù)數(shù)越大,越能減小GPU和主機(jī)內(nèi)存的交互、越能減小GPU內(nèi)部的調(diào)度開銷,越能實(shí)現(xiàn)更高的運(yùn)算性能。即使采用多線程調(diào)用GPU,但每個(gè)線程交給GPU的任務(wù)只調(diào)度一個(gè)GPU CORE參與運(yùn)算,這種調(diào)度方式與批量交給GPU任務(wù),讓GPU的每個(gè)CORE都參與運(yùn)算相比,其性能差距可能比后者上千倍。
[0005]我們基于CPU體系架構(gòu)的應(yīng)用程序,通常是采用多進(jìn)程或多線程來處理多個(gè)任務(wù),在收到一個(gè)任務(wù)后,就會(huì)調(diào)用CPU進(jìn)行一次運(yùn)算,而不需要將任務(wù)緩存到一起批量調(diào)用執(zhí)行運(yùn)算,因?yàn)檫@樣不會(huì)帶來性能提升,反而會(huì)大大增加程序的復(fù)雜度。而使用GPU則不同,GPU需要批量向其提交運(yùn)算任務(wù)才能充分發(fā)揮其性能,然而,現(xiàn)有應(yīng)用程序要改造成通過緩存批量向GPU提交任務(wù)的模式,具有相當(dāng)大的難度。

【發(fā)明內(nèi)容】

[0006]本發(fā)明所要解決的技術(shù)問題是:針對(duì)現(xiàn)有技術(shù)存在的問題,提供一種調(diào)度GPU進(jìn)行批量運(yùn)算的方法及裝置,本發(fā)明設(shè)計(jì)了獨(dú)立的GPU調(diào)度模塊,該模塊對(duì)外提供API,API與GHJ調(diào)度模塊之間通過進(jìn)程間通信機(jī)制進(jìn)行通信,應(yīng)用模塊通過調(diào)用API向GPU調(diào)度模塊發(fā)送運(yùn)算任務(wù),GPU調(diào)度模塊將一個(gè)處理周期收到的計(jì)算任務(wù)緩存起來,等到GPU處理完成上一批次計(jì)算任務(wù)后,再將緩存的計(jì)算任務(wù)批量提交給GPU,然后API應(yīng)用模塊采用同步模式或者異步模式完成計(jì)算任務(wù)的后續(xù)操作。充分發(fā)揮GPU的運(yùn)算能力,并提升GPU的內(nèi)存訪問性能。
[0007]本發(fā)明采用的技術(shù)方案如下:
一種調(diào)度GPU進(jìn)行批量運(yùn)算的方法包括:
步驟1:GPU調(diào)度模塊與API應(yīng)用模塊通過進(jìn)程間通訊機(jī)制進(jìn)行通信; 步驟2:API應(yīng)用模塊向GPU調(diào)度模塊發(fā)送運(yùn)算任務(wù),GPU調(diào)度模塊將一個(gè)周期收到的計(jì)算任務(wù)在緩存中存儲(chǔ);當(dāng)GPU處理完成上一批次計(jì)算任務(wù)后,GPU調(diào)度模塊將緩存的計(jì)算任務(wù)批量提交給GPU,然后API應(yīng)用模塊采用同步模式或者異步模式完成計(jì)算任務(wù)的后續(xù)操作。
[0008]進(jìn)一步的,所述步驟2中計(jì)算任務(wù)在緩存中存儲(chǔ)時(shí),分別將類型相同的計(jì)算任務(wù)存在同一組中,每組緩存中的計(jì)算任務(wù)獨(dú)立提交給GPU進(jìn)行批量運(yùn)算。
[0009]進(jìn)一步的,所述每組緩存均為雙緩存,即在用緩存和備用緩存;備用緩存用于存放新接收到的計(jì)算任務(wù),GPU運(yùn)算完成后,將運(yùn)算結(jié)果放入在用緩存,將計(jì)算結(jié)果發(fā)給API應(yīng)用模塊,隨即將備用緩存中的數(shù)據(jù)批量交給GPU執(zhí)行,備用緩存變?yōu)樵谟镁彺?,原來的在用緩存變?yōu)閭溆镁彺妫糜谛陆邮盏饺蝿?wù)。
[0010]進(jìn)一步的,所述在用緩存和備用緩存都為不同參數(shù)建立對(duì)應(yīng)的緩存區(qū),使每個(gè)相同參數(shù)都存放在連續(xù)的地址空間中。
[0011]進(jìn)一步的,所述步驟2中同步模式指的是API應(yīng)用模塊向GPU調(diào)度模塊發(fā)送運(yùn)算任務(wù)后,等待GPU調(diào)度模塊執(zhí)行完運(yùn)算任務(wù)后向API應(yīng)用模塊返回計(jì)算結(jié)果;異步模式是API應(yīng)用模塊向GPU調(diào)度模塊發(fā)送運(yùn)算任務(wù)后,不等待運(yùn)算完成直接返回,當(dāng)GPU調(diào)度模塊運(yùn)算完成并返回運(yùn)算結(jié)果后,API應(yīng)用模塊以回調(diào)的方式完成運(yùn)算結(jié)果的處理。
[0012]一種調(diào)度GPU進(jìn)行批量運(yùn)算的裝置包括:
API應(yīng)用模塊,用于向GPU調(diào)度模塊發(fā)送運(yùn)算任務(wù);
GPU調(diào)度模塊,用于當(dāng)API應(yīng)用模塊向GPU調(diào)度模塊發(fā)送運(yùn)算任務(wù)時(shí),GPU調(diào)度模塊將一個(gè)周期收到的計(jì)算任務(wù)在緩存中存儲(chǔ);當(dāng)GPU處理完成上一批次計(jì)算任務(wù)后,GPU調(diào)度模塊將緩存的計(jì)算任務(wù)批量提交給GPU,然后API應(yīng)用模塊采用同步模式或者異步模式完成計(jì)算任務(wù)的后續(xù)操作;其中GPU調(diào)度模塊與API應(yīng)用模塊通過進(jìn)程間通訊機(jī)制進(jìn)行通信。
[0013]進(jìn)一步的,所述計(jì)算任務(wù)在緩存中存儲(chǔ)時(shí),分別將類型相同的計(jì)算任務(wù)存在同一組中,每組緩存中的計(jì)算任務(wù)獨(dú)立提交給GPU進(jìn)行批量運(yùn)算。
[0014]進(jìn)一步的,所述每組緩存均為雙緩存,即在用緩存和備用緩存;備用緩存用于存放新接收到的計(jì)算任務(wù),GPU運(yùn)算完成后,將運(yùn)算結(jié)果放入在用緩存,將計(jì)算結(jié)果發(fā)給API應(yīng)用模塊,隨即將備用緩存中的數(shù)據(jù)批量交給GPU執(zhí)行,備用緩存變?yōu)樵谟镁彺?,原來的在用緩存變?yōu)閭溆镁彺?,用于新接收到任?wù)。
[0015]進(jìn)一步的,所述用緩存和備用緩存都為不同參數(shù)建立對(duì)應(yīng)的緩存區(qū),使每個(gè)相同參數(shù)都存放在連續(xù)的地址空間中。
[0016]進(jìn)一步的,所述中同步模式指的是API應(yīng)用模塊向GPU調(diào)度模塊發(fā)送運(yùn)算任務(wù)后,等待GPU調(diào)度模塊執(zhí)行完運(yùn)算任務(wù)后向API應(yīng)用模塊返回計(jì)算結(jié)果;異步模式是API應(yīng)用模塊向GPU調(diào)度模塊發(fā)送運(yùn)算任務(wù)后,不等待運(yùn)算完成直接返回,當(dāng)GPU調(diào)度模塊運(yùn)算完成并返回運(yùn)算結(jié)果后,API應(yīng)用模塊以回調(diào)的方式完成運(yùn)算結(jié)果的處理。
[0017]綜上所述,由于采用了上述技術(shù)方案,本發(fā)明的有益效果是:
1.分別為每種類型的計(jì)算任務(wù)建立一組緩存,這樣每組緩存中均為相同任務(wù),每組緩存中的任務(wù)都獨(dú)立提交給GPU進(jìn)行批量運(yùn)算,讓GPU批量執(zhí)行相同任務(wù)才能充分發(fā)揮GPU的運(yùn)算能力;
2.要使GPU高效使用內(nèi)存,需要預(yù)先對(duì)數(shù)據(jù)進(jìn)行高效地組織,在用緩存和備用緩存都為不同參數(shù)建立對(duì)應(yīng)的緩存區(qū),使每個(gè)相同參數(shù)都存放在連續(xù)的地址空間中,以提升GPU的內(nèi)存訪問性能。
【附圖說明】
[0018]本發(fā)明將通過例子并參照附圖的方式說明,其中:
圖1為調(diào)度GPU進(jìn)行批量運(yùn)算的示意圖;
圖2為調(diào)度GPU的緩存技術(shù)示意圖。
【具體實(shí)施方式】
[0019]本說明書中公開的所有特征,或公開的所有方法或過程中的步驟,除了互相排斥的特征和/或步驟以外,均可以以任何方式組合。
[0020]本說明書(包括任何附加權(quán)利要求、摘
當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
枞阳县| 房产| 平阳县| 西平县| 顺昌县| 郎溪县| 礼泉县| 都匀市| 龙江县| 敦煌市| 汝州市| 靖边县| 河北区| 余江县| 陆川县| 五指山市| 新晃| 饶河县| 民乐县| 汉源县| 长沙县| 巍山| 佛冈县| 义马市| 河北省| 南江县| 铜陵市| 萨迦县| 望都县| 始兴县| 贵德县| 伊川县| 淳安县| 湘潭县| 伊春市| 张掖市| 桦南县| 佛冈县| 横山县| 孟津县| 玛沁县|