亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種異構(gòu)多處理器上并行執(zhí)行任務(wù)的方法

文檔序號(hào):6481115閱讀:199來源:國(guó)知局
專利名稱:一種異構(gòu)多處理器上并行執(zhí)行任務(wù)的方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種計(jì)算機(jī)應(yīng)用技術(shù),具體地說是一種異構(gòu)多處理器上并行執(zhí)行同一任務(wù)的方法。
背景技術(shù)
隨著GPU逐漸納入高性能并行計(jì)算設(shè)備,GPU被按照一般目的的計(jì)算設(shè)備,開發(fā)了越來越多的應(yīng)用程序,完成數(shù)據(jù)并行計(jì)算。現(xiàn)在我們能用GPU供應(yīng)商提供的專業(yè)接口和專業(yè)GPU設(shè)備,來設(shè)計(jì)這些應(yīng)用程序,使CPU和GPU—起用于數(shù)據(jù)處理系統(tǒng),CPU也不會(huì)負(fù)載過重。如何使應(yīng)用程序可以更好的運(yùn)行在不同廠商的GPU上。
H前,越來越多的CPU被嵌入多核完成數(shù)據(jù)并行計(jì)算,越來越多的數(shù)據(jù)處理任務(wù)可以用CPUs和GPUs —起完成。但是如何同時(shí)更好的利用CPU和GPU目前還未有好的辦法,因此,需要一個(gè)新的數(shù)據(jù)處理系統(tǒng),來克服上述困難,允許應(yīng)用完成任務(wù)時(shí),可以利用多個(gè)CPU組合或GPU組合或多個(gè)CPU和多個(gè)GPU的組合進(jìn)行大規(guī)模數(shù)據(jù)處理。

發(fā)明內(nèi)容
本發(fā)明的目的是提供一種多個(gè)CPU和多個(gè)GPU異構(gòu)多處理器上并行執(zhí)行任務(wù)的方法。
本發(fā)明的目的是按以下方式實(shí)現(xiàn)的,主處理器和輔助處理器并行對(duì)應(yīng)用程序進(jìn)行數(shù)據(jù)處理,應(yīng)用程序運(yùn)行在主處理器,為完成數(shù)據(jù)處理的并行處理,產(chǎn)生API請(qǐng)求,要求加載一個(gè)或多個(gè)可執(zhí)行程序;然后應(yīng)用程序通過API請(qǐng)求在加載的一個(gè)或多個(gè)可執(zhí)行程序中為輔助處理器選擇一個(gè)可執(zhí)行程序,具體步驟如下
運(yùn)行在主處理器的應(yīng)用,為完成數(shù)據(jù)并行處理任務(wù),將產(chǎn)生一個(gè)API請(qǐng)求,要求加載一個(gè)或多個(gè)可執(zhí)行程序,來進(jìn)行數(shù)據(jù)處理。為了響應(yīng)這個(gè)API請(qǐng)求,將產(chǎn)生一個(gè)新任務(wù),這個(gè)新任務(wù)中包含要求加載的一個(gè)或多個(gè)可執(zhí)行程序,同時(shí)輔助處理器的任務(wù)隊(duì)列被更新。
然后應(yīng)用程序又產(chǎn)生一個(gè)API請(qǐng)求,要求輔助處理器選擇新任務(wù)中的一個(gè)可執(zhí)行程序來運(yùn)行。這個(gè)可執(zhí)行程序是基于完成新任務(wù)的條件來進(jìn)行選擇的,即選擇保證新任務(wù)完成的一個(gè)可執(zhí)行程序去執(zhí)行。被選擇的可執(zhí)行程序由于可能與輔助處理器不匹配,因此在運(yùn)行時(shí)刻,可執(zhí)行程序需要得到源代碼重新編譯成輔助處理器的可以運(yùn)行的可執(zhí)行程序。
可執(zhí)行程序中包括描述數(shù)據(jù)和源代碼,描述數(shù)據(jù)中描述可執(zhí)行程序支持的處理器的版本、類型,源代碼是從與被加載的可執(zhí)行程序相關(guān)的庫中加載,將被用來編譯產(chǎn)生輔助處理器的可執(zhí)行程序。加載描述數(shù)據(jù)和源代碼到輔助處理器的過程是比較描述數(shù)據(jù)和輔助處理器的信息;基于比較得到的信息,為輔助處理器從源代碼中在線編譯可執(zhí)行程序。
基于比較得到的信息包括1)可執(zhí)行程序?qū)τ谳o助處理器需要優(yōu)化的信息;2)可執(zhí)行程序不支持輔助處理器的信息。
在線編譯可執(zhí)行程序的編譯過程包括生成新的可執(zhí)行程序,產(chǎn)生更新的描述數(shù)據(jù),描述數(shù)據(jù)中包括輔助處理器的版本信息;保存新生成的可執(zhí)行程以及更新的描述數(shù)據(jù),新生成的可執(zhí)行程序至少替代了一個(gè)原有的Bj執(zhí)行程序。
源代碼和已編譯的可執(zhí)行程序保存在API庫中,為響應(yīng)運(yùn)行在主處理器的應(yīng)用的API請(qǐng)求,輔助處理器為執(zhí)行數(shù)據(jù)處理功能,將在API庫中找到這些源代碼和已編譯的可執(zhí)行程序,同時(shí),在線編譯的可執(zhí)程序和可執(zhí)行程序的描述數(shù)據(jù),也保存在這個(gè)API庫中。
主處理器是一個(gè)或多個(gè)普通CPU的組合,輔助處理器是一個(gè)或多個(gè)普通CPU或GPU的組合。
主處理器收到API的命令,執(zhí)行有多個(gè)線程的應(yīng)用程序,為并行執(zhí)行多個(gè)線程,可執(zhí)行程序被加載到輔助處理器,主處理器聯(lián)系著眾多輔助處理器,輔助處理器中包括CPUs或者GPUs,如果一個(gè)線程被初始化或者調(diào)度到某個(gè)GPU上執(zhí)行,而這個(gè)GPU正忙于圖像處理其它線程,那么這個(gè)線程可以重新被初始化或調(diào)度到某個(gè)CPU上執(zhí)行。
本發(fā)明的有益效果是克服現(xiàn)有技術(shù)中存在的問題,允許應(yīng)用程序執(zhí)行任務(wù)時(shí),利用多個(gè)CPU組合或GPU組合或多個(gè)CPU和多個(gè)GPU的組合進(jìn)行大規(guī)模數(shù)據(jù)處理。


圖1完成應(yīng)用中數(shù)據(jù)并行計(jì)算的計(jì)算設(shè)備配置圖;圖2物理計(jì)算設(shè)備識(shí)別示意圖;圖3應(yīng)用程序執(zhí)行的過程示意圖;圖4可執(zhí)行程序加載分派編譯保存的過程示意圖。
具體實(shí)施例方式
運(yùn)行在主處理器的應(yīng)用程序,為完成數(shù)據(jù)并行處理任務(wù),將產(chǎn)生一個(gè)API請(qǐng)求,要求加載一個(gè)或多個(gè)可執(zhí)行程序來進(jìn)行數(shù)據(jù)處理,為了響應(yīng)這個(gè)API請(qǐng)求,將產(chǎn)生一個(gè)新任務(wù),這個(gè)新任務(wù)中包含要求加載的一個(gè)或多個(gè)可執(zhí)行程序,同時(shí)
輔助處理器的任務(wù)隊(duì)列被更新。然后應(yīng)用程序又產(chǎn)生一個(gè)API請(qǐng)求,要求選擇新任務(wù)中的一個(gè)可執(zhí)行程序在主處理器附加的輔助處理器運(yùn)行,輔助處理器可以是CPU或者GPU。這個(gè)可執(zhí)行程序是基于完成新任務(wù)的條件來進(jìn)行選擇的,即選擇保證新任務(wù)完成條件的一個(gè)可執(zhí)行程序去執(zhí)行。被選擇的可執(zhí)行程序加載輔助處理器,由于可能與輔助處理器不匹配,因此在運(yùn)行時(shí)刻,可執(zhí)行程序需要得到源代碼重新編譯成輔助處理器的可執(zhí)行程序。應(yīng)用程序?qū)⒓虞d源代碼,并自動(dòng)判斷輔助處理器的類型?;谳o助處理器的類型,在線編譯可執(zhí)行程序。源代碼和相應(yīng)的為處理器編譯的可執(zhí)行程序都存儲(chǔ)在一個(gè)API庫中,供應(yīng)用程序調(diào)度來完成API功能。在線編譯完成的可執(zhí)行程序也要保存到這個(gè)API庫。加載到輔助處理器的可執(zhí)行程序和其它輔助處理器單元的可執(zhí)行程序并發(fā)執(zhí)行。
主處理器可以是一個(gè)或多個(gè)普通CPU,輔助處理器可以是多個(gè)CPUs或者多個(gè)GPUs。主處理器收到API的命令,去執(zhí)行含有多線程的應(yīng)用??蓤?zhí)行程序?yàn)椴⑿袌?zhí)行一組線程被加載到輔助處理器。主處理器聯(lián)系著眾多輔助處理器,如果一個(gè)線程被初始化或者調(diào)度到某個(gè)GPU上執(zhí)行,而GPU正忙于圖像處理其它線程,那么這個(gè)線程可以重新被初始化或調(diào)度到某個(gè)CPU或GPU上執(zhí)行。實(shí)施例
為了使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清晰,下面結(jié)合附圖和實(shí)施例,對(duì)本發(fā)明作以下詳細(xì)說明。
圖l是為完成應(yīng)用數(shù)據(jù)并行處理的計(jì)算設(shè)備配置圖,在這個(gè)計(jì)算設(shè)備中,包含中央處理器CPU和圖形處理器GPU,其中的主處理系統(tǒng)中有一個(gè)主處理器,可以在網(wǎng)絡(luò)中上傳下載數(shù)據(jù)和計(jì)算結(jié)果,主處理器通過數(shù)據(jù)總線連接異構(gòu)處理器CPUs和GPUs。 CPU可以是多核的CPU, GPU是可以支持圖形處理和雙精度浮點(diǎn)運(yùn)算的硬件。函數(shù)庫保存源代碼和可執(zhí)行程序,編譯層負(fù)責(zé)編譯源代碼,應(yīng)用通過API調(diào)用,加載可執(zhí)行程序到運(yùn)行層,運(yùn)行層通過計(jì)算資源的分配,管理處理任務(wù)的執(zhí)行,運(yùn)算平臺(tái)層,負(fù)責(zé)物理計(jì)算設(shè)備的標(biāo)識(shí)。編譯完成的可執(zhí)行程序,通過API調(diào)用加載到運(yùn)行層,運(yùn)行時(shí)運(yùn)行層根據(jù)處理器的數(shù)據(jù)文件,與編譯層交互,實(shí)時(shí)編譯源代碼生成新的可執(zhí)行程序。運(yùn)行層把符合條件的可執(zhí)行程序通過運(yùn)算平臺(tái)層分配到計(jì)算資源。
圖2是運(yùn)算平臺(tái)層中設(shè)備識(shí)別器識(shí)別物理計(jì)算設(shè)備的示意圖。物理設(shè)備的標(biāo)示是通過運(yùn)算平臺(tái)層完成的,為響應(yīng)應(yīng)用的API請(qǐng)求,配置并行數(shù)據(jù)處理的資源,運(yùn)算平臺(tái)層中有一個(gè)設(shè)備識(shí)別器,產(chǎn)生物理計(jì)算設(shè)備的標(biāo)識(shí)符。
在本發(fā)明方法中,應(yīng)用運(yùn)行在主處理器,為完成數(shù)據(jù)的并行處理任務(wù),將產(chǎn)生
一個(gè)API請(qǐng)求,要求加載一個(gè)或多個(gè)可執(zhí)行程序來進(jìn)行數(shù)據(jù)處理。為了響應(yīng)這個(gè)API請(qǐng)求,將產(chǎn)生一個(gè)新任務(wù),這個(gè)新任務(wù)中包含要求加載的一個(gè)或多個(gè)可執(zhí)行程序,同時(shí)輔助處理器(也可以稱之計(jì)算處理器或目標(biāo)計(jì)算處理器)的任務(wù)隊(duì)列被更新。然后應(yīng)用程序又產(chǎn)生一個(gè)API請(qǐng)求,要求選擇新任務(wù)中的一個(gè)可執(zhí)行程序在主處理器附加的輔助處理器運(yùn)行,輔助處理器可以是CPU或者GPU。這個(gè)可執(zhí)行程序是基于完成新任務(wù)的條件來進(jìn)行選擇的,即選擇保證新任務(wù)完成條件的一個(gè)可執(zhí)行程序去執(zhí)行。被選擇的可執(zhí)行程序加載到目標(biāo)計(jì)算處理器,由于可能與目標(biāo)計(jì)算處理器不匹配,因此在運(yùn)行時(shí)刻,可執(zhí)行程序需要得到源代碼重新編譯成目標(biāo)計(jì)算處理器的可執(zhí)行程序。應(yīng)用程序?qū)⒓虞d源代碼,并自動(dòng)判斷目標(biāo)數(shù)據(jù)處理器的類型?;谀繕?biāo)數(shù)據(jù)處理器的類型,在線編譯可執(zhí)行程序。源代碼和相應(yīng)的為處理器編譯的可執(zhí)行程序都存儲(chǔ)在一個(gè)API庫中,供應(yīng)用程序調(diào)度來完成API功能。在線編譯完成的可執(zhí)行程序也要保存到這個(gè)API庫。加載到目標(biāo)處理器的可執(zhí)行程序和其它計(jì)算單元的可執(zhí)行程序并發(fā)執(zhí)行。其簡(jiǎn)要過程如圖三所示應(yīng)用程序運(yùn)行在一個(gè)包含AIP庫的數(shù)據(jù)處理系統(tǒng)上,通過API調(diào)用,在API庫中找到源代碼和可執(zhí)行程序,通過在計(jì)算處理器上執(zhí)行可執(zhí)行程序完成數(shù)據(jù)的并行處理??蓤?zhí)行程序的加載、指派、編譯、保存的過程如圖4所示從API庫中把可執(zhí)行程序及所要使用的源代碼離線的加載到數(shù)據(jù)處理系統(tǒng)中,為可執(zhí)行程序指派目標(biāo)物理計(jì)算設(shè)備,從源代碼中,為每個(gè)目標(biāo)物理計(jì)算設(shè)備在線編譯可執(zhí)行程序,保存源代碼以及目標(biāo)物理計(jì)算設(shè)備的可執(zhí)行程序到API庫中。
權(quán)利要求
1.一種異構(gòu)多處理器上并行執(zhí)行任務(wù)的方法,其特征在于主處理器和輔助處理器并行對(duì)應(yīng)用程序進(jìn)行數(shù)據(jù)處理,其中應(yīng)用程序運(yùn)行在主處理器,為完成應(yīng)用程序的數(shù)據(jù)處理,應(yīng)用將產(chǎn)生API請(qǐng)求,要求加載一個(gè)或多個(gè)可執(zhí)行程序;然后應(yīng)用程序通過API請(qǐng)求在加載的一個(gè)或多個(gè)可執(zhí)行程序中為輔助處理器選擇一個(gè)可執(zhí)行程序。
2、 根據(jù)權(quán)利要求1所述的方法,其特征在于,主處理器被加載的一個(gè)或多個(gè)可執(zhí)行程序包括描述數(shù)據(jù)和源代碼,描述數(shù)據(jù)中描述可執(zhí)行程序支持的處理器的 版本、類型,源代碼是從與被加載的可執(zhí)行程序相關(guān)的庫中加載,將被用來在線 編譯產(chǎn)生輔助處理器的可執(zhí)行程序。
3、 根據(jù)權(quán)利要求2所述的方法,其特征在于主處理器中描述數(shù)據(jù)和源代碼的 加載過程是比較描述數(shù)據(jù)和輔助處理器的信息;基于比較得到的信息,為輔助 處理器從源代碼中在線編譯可執(zhí)行程序。
4、 根據(jù)權(quán)利要求3所述的方法,其特征在于基于比較得到的信息包括1) 可執(zhí)行程序?qū)τ谳o助處理器需要優(yōu)化的信息;2)可執(zhí)行程序不支持輔助處理器的 信息。
5、 根據(jù)權(quán)利要求3所述的方法,其特征在于在線編譯可執(zhí)行程序的編譯過程 包括生成新的可執(zhí)行程序,產(chǎn)生更新的描述數(shù)據(jù),描述數(shù)據(jù)中包括輔助處理器 的版本信息;保存新生成的可執(zhí)行程以及更新的描述數(shù)據(jù),新生成的可執(zhí)行程序 至少替代了一個(gè)原有的可執(zhí)行程序。
6、 根據(jù)權(quán)利要求1所述的方法,其特征在于,源代碼和已編譯的可執(zhí)行程序 保存在API庫中,為響應(yīng)運(yùn)行在主處理器的應(yīng)用的API請(qǐng)求,輔助處理器為執(zhí)行 數(shù)據(jù)處理功能,將在API庫中找到這些源代碼和已編譯的可執(zhí)行程序,同時(shí),在 線編譯的可執(zhí)程序和可執(zhí)行程序的描述數(shù)據(jù),也保存在這個(gè)API庫中。
7、 根據(jù)權(quán)利要求1所述的方法,其特征在于,主處理器是一個(gè)或多個(gè)普通CPU 的組合,輔助處理器是一個(gè)或多個(gè)普通CPU或GPU的組合。
8、 根據(jù)權(quán)利要求1所述的方法,其特征在于主處理器通過API請(qǐng)求,執(zhí)行有 多個(gè)線程的應(yīng)用程序,在輔助處理器上調(diào)度多個(gè)線程的并行執(zhí)行,輔助處理器包 括CPUs或者GPUs,如果GPU忙于圖像處理線程,調(diào)度到GPU的線程可以被調(diào)度到 era上去執(zhí)行。
全文摘要
本發(fā)明提供一種異構(gòu)多處理器上并行執(zhí)行任務(wù)的方法,具體地說是在一個(gè)或者多個(gè)物理計(jì)算設(shè)備CPUs或者GPUs上,并發(fā)執(zhí)行多個(gè)可執(zhí)行程序的方法。這些可執(zhí)行程序之間的依賴關(guān)系,決定了同時(shí)運(yùn)行在多個(gè)物理計(jì)算設(shè)備中的眾多線程選擇哪個(gè)可執(zhí)行程序調(diào)度執(zhí)行。如果一個(gè)線程被物理計(jì)算設(shè)備中的某個(gè)GPU初始化,但是這個(gè)GPU正忙于處理其他圖形處理的線程,那么這個(gè)線程可以被物理計(jì)算設(shè)備中的另一個(gè)CPU初始化。為了在多個(gè)物理計(jì)算設(shè)備上并行執(zhí)行多個(gè)可執(zhí)行程序,源代碼和作為API函數(shù)的現(xiàn)有可執(zhí)行程序都存儲(chǔ)在一個(gè)API庫中。這些被執(zhí)行的可執(zhí)行程序可以是現(xiàn)有的可執(zhí)行程序,也可以是從源代碼中在線編譯的可執(zhí)行程序。
文檔編號(hào)G06F9/38GK101599009SQ200910014939
公開日2009年12月9日 申請(qǐng)日期2009年4月30日 優(yōu)先權(quán)日2009年4月30日
發(fā)明者王守昊, 健 魏 申請(qǐng)人:浪潮電子信息產(chǎn)業(yè)股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1