新四季網

一種異構多處理器上並行執行任務的方法

2023-04-23 01:26:01 1

專利名稱:一種異構多處理器上並行執行任務的方法
技術領域:
本發明涉及一種計算機應用技術,具體地說是一種異構多處理器上並行執行同一任務的方法。
背景技術:
隨著GPU逐漸納入高性能並行計算設備,GPU被按照一般目的的計算設備,開發了越來越多的應用程式,完成數據並行計算。現在我們能用GPU供應商提供的專業接口和專業GPU設備,來設計這些應用程式,使CPU和GPU—起用於數據處理系統,CPU也不會負載過重。如何使應用程式可以更好的運行在不同廠商的GPU上。
H前,越來越多的CPU被嵌入多核完成數據並行計算,越來越多的數據處理任務可以用CPUs和GPUs —起完成。但是如何同時更好的利用CPU和GPU目前還未有好的辦法,因此,需要一個新的數據處理系統,來克服上述困難,允許應用完成任務時,可以利用多個CPU組合或GPU組合或多個CPU和多個GPU的組合進行大規模數據處理。

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


圖1完成應用中數據並行計算的計算設備配置圖;圖2物理計算設備識別示意圖;圖3應用程式執行的過程示意圖;圖4可執行程序加載分派編譯保存的過程示意圖。
具體實施例方式
運行在主處理器的應用程式,為完成數據並行處理任務,將產生一個API請求,要求加載一個或多個可執行程序來進行數據處理,為了響應這個API請求,將產生一個新任務,這個新任務中包含要求加載的一個或多個可執行程序,同時
輔助處理器的任務隊列被更新。然後應用程式又產生一個API請求,要求選擇新任務中的一個可執行程序在主處理器附加的輔助處理器運行,輔助處理器可以是CPU或者GPU。這個可執行程序是基於完成新任務的條件來進行選擇的,即選擇保證新任務完成條件的一個可執行程序去執行。被選擇的可執行程序加載輔助處理器,由於可能與輔助處理器不匹配,因此在運行時刻,可執行程序需要得到原始碼重新編譯成輔助處理器的可執行程序。應用程式將加載原始碼,並自動判斷輔助處理器的類型。基於輔助處理器的類型,在線編譯可執行程序。原始碼和相應的為處理器編譯的可執行程序都存儲在一個API庫中,供應用程式調度來完成API功能。在線編譯完成的可執行程序也要保存到這個API庫。加載到輔助處理器的可執行程序和其它輔助處理器單元的可執行程序並發執行。
主處理器可以是一個或多個普通CPU,輔助處理器可以是多個CPUs或者多個GPUs。主處理器收到API的命令,去執行含有多線程的應用。可執行程序為並行執行一組線程被加載到輔助處理器。主處理器聯繫著眾多輔助處理器,如果一個線程被初始化或者調度到某個GPU上執行,而GPU正忙於圖像處理其它線程,那麼這個線程可以重新被初始化或調度到某個CPU或GPU上執行。實施例
為了使本發明的目的、技術方案和優點更加清晰,下面結合附圖和實施例,對本發明作以下詳細說明。
圖l是為完成應用數據並行處理的計算設備配置圖,在這個計算設備中,包含中央處理器CPU和圖形處理器GPU,其中的主處理系統中有一個主處理器,可以在網絡中上傳下載數據和計算結果,主處理器通過數據總線連接異構處理器CPUs和GPUs。 CPU可以是多核的CPU, GPU是可以支持圖形處理和雙精度浮點運算的硬體。函數庫保存原始碼和可執行程序,編譯層負責編譯原始碼,應用通過API調用,加載可執行程序到運行層,運行層通過計算資源的分配,管理處理任務的執行,運算平臺層,負責物理計算設備的標識。編譯完成的可執行程序,通過API調用加載到運行層,運行時運行層根據處理器的數據文件,與編譯層交互,實時編譯原始碼生成新的可執行程序。運行層把符合條件的可執行程序通過運算平臺層分配到計算資源。
圖2是運算平臺層中設備識別器識別物理計算設備的示意圖。物理設備的標示是通過運算平臺層完成的,為響應應用的API請求,配置並行數據處理的資源,運算平臺層中有一個設備識別器,產生物理計算設備的標識符。
在本發明方法中,應用運行在主處理器,為完成數據的並行處理任務,將產生
一個API請求,要求加載一個或多個可執行程序來進行數據處理。為了響應這個API請求,將產生一個新任務,這個新任務中包含要求加載的一個或多個可執行程序,同時輔助處理器(也可以稱之計算處理器或目標計算處理器)的任務隊列被更新。然後應用程式又產生一個API請求,要求選擇新任務中的一個可執行程序在主處理器附加的輔助處理器運行,輔助處理器可以是CPU或者GPU。這個可執行程序是基於完成新任務的條件來進行選擇的,即選擇保證新任務完成條件的一個可執行程序去執行。被選擇的可執行程序加載到目標計算處理器,由於可能與目標計算處理器不匹配,因此在運行時刻,可執行程序需要得到原始碼重新編譯成目標計算處理器的可執行程序。應用程式將加載原始碼,並自動判斷目標數據處理器的類型。基於目標數據處理器的類型,在線編譯可執行程序。原始碼和相應的為處理器編譯的可執行程序都存儲在一個API庫中,供應用程式調度來完成API功能。在線編譯完成的可執行程序也要保存到這個API庫。加載到目標處理器的可執行程序和其它計算單元的可執行程序並發執行。其簡要過程如圖三所示應用程式運行在一個包含AIP庫的數據處理系統上,通過API調用,在API庫中找到原始碼和可執行程序,通過在計算處理器上執行可執行程序完成數據的並行處理。可執行程序的加載、指派、編譯、保存的過程如圖4所示從API庫中把可執行程序及所要使用的原始碼離線的加載到數據處理系統中,為可執行程序指派目標物理計算設備,從原始碼中,為每個目標物理計算設備在線編譯可執行程序,保存原始碼以及目標物理計算設備的可執行程序到API庫中。
權利要求
1.一種異構多處理器上並行執行任務的方法,其特徵在於主處理器和輔助處理器並行對應用程式進行數據處理,其中應用程式運行在主處理器,為完成應用程式的數據處理,應用將產生API請求,要求加載一個或多個可執行程序;然後應用程式通過API請求在加載的一個或多個可執行程序中為輔助處理器選擇一個可執行程序。
2、 根據權利要求1所述的方法,其特徵在於,主處理器被加載的一個或多個可執行程序包括描述數據和原始碼,描述數據中描述可執行程序支持的處理器的 版本、類型,原始碼是從與被加載的可執行程序相關的庫中加載,將被用來在線 編譯產生輔助處理器的可執行程序。
3、 根據權利要求2所述的方法,其特徵在於主處理器中描述數據和原始碼的 加載過程是比較描述數據和輔助處理器的信息;基於比較得到的信息,為輔助 處理器從原始碼中在線編譯可執行程序。
4、 根據權利要求3所述的方法,其特徵在於基於比較得到的信息包括1) 可執行程序對於輔助處理器需要優化的信息;2)可執行程序不支持輔助處理器的 信息。
5、 根據權利要求3所述的方法,其特徵在於在線編譯可執行程序的編譯過程 包括生成新的可執行程序,產生更新的描述數據,描述數據中包括輔助處理器 的版本信息;保存新生成的可執行程以及更新的描述數據,新生成的可執行程序 至少替代了一個原有的可執行程序。
6、 根據權利要求1所述的方法,其特徵在於,原始碼和已編譯的可執行程序 保存在API庫中,為響應運行在主處理器的應用的API請求,輔助處理器為執行 數據處理功能,將在API庫中找到這些原始碼和已編譯的可執行程序,同時,在 線編譯的可執程序和可執行程序的描述數據,也保存在這個API庫中。
7、 根據權利要求1所述的方法,其特徵在於,主處理器是一個或多個普通CPU 的組合,輔助處理器是一個或多個普通CPU或GPU的組合。
8、 根據權利要求1所述的方法,其特徵在於主處理器通過API請求,執行有 多個線程的應用程式,在輔助處理器上調度多個線程的並行執行,輔助處理器包 括CPUs或者GPUs,如果GPU忙於圖像處理線程,調度到GPU的線程可以被調度到 era上去執行。
全文摘要
本發明提供一種異構多處理器上並行執行任務的方法,具體地說是在一個或者多個物理計算設備CPUs或者GPUs上,並發執行多個可執行程序的方法。這些可執行程序之間的依賴關係,決定了同時運行在多個物理計算設備中的眾多線程選擇哪個可執行程序調度執行。如果一個線程被物理計算設備中的某個GPU初始化,但是這個GPU正忙於處理其他圖形處理的線程,那麼這個線程可以被物理計算設備中的另一個CPU初始化。為了在多個物理計算設備上並行執行多個可執行程序,原始碼和作為API函數的現有可執行程序都存儲在一個API庫中。這些被執行的可執行程序可以是現有的可執行程序,也可以是從原始碼中在線編譯的可執行程序。
文檔編號G06F9/38GK101599009SQ200910014939
公開日2009年12月9日 申請日期2009年4月30日 優先權日2009年4月30日
發明者王守昊, 健 魏 申請人:浪潮電子信息產業股份有限公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀