www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當前位置:首頁 > 嵌入式 > 嵌入式硬件
[導讀]0 引言在航空航天、醫(yī)療服務、地質(zhì)勘探等復雜應用領(lǐng)域,需要處理的數(shù)據(jù)量急劇增大,需要高性能的實時計算能力提供支撐。與多核處理器相比,眾核處理器計算資源密度更高、片

0 引言

在航空航天、醫(yī)療服務、地質(zhì)勘探等復雜應用領(lǐng)域,需要處理的數(shù)據(jù)量急劇增大,需要高性能的實時計算能力提供支撐。與多核處理器相比,眾核處理器計算資源密度更高、片上通信開銷顯著降低、性能/功耗比明顯提高,可為實時系統(tǒng)提供強大的計算能力。

在復雜應用領(lǐng)域當中,不同應用場景對計算的需求可能不同。例如,移動機器人在作業(yè)時,可能需要同時執(zhí)行路徑規(guī)劃、目標識別等多個任務,這些任務需要同時執(zhí)行;在對遙感圖像處理時,需要對圖像數(shù)據(jù)進行配準、融合、重構(gòu)、特征提取等多個步驟,這些步驟間既需要同時執(zhí)行,又存在前驅(qū)后繼的關(guān)系。因此,基于眾核處理器進行計算模式的動態(tài)構(gòu)造,以適應不同的應用場景和應用任務成為一種新的研究方向。文獻[1]研究了具有邏輯核構(gòu)造能力的眾核處理器體系結(jié)構(gòu),其基本思想是基于多個細粒度處理器核構(gòu)建成粗粒度邏輯核,將不斷增加的處理器核轉(zhuǎn)化為單線程串行應用的性能提升。文獻提出并驗證了一種基于類數(shù)據(jù)流驅(qū)動模型的可重構(gòu)眾核處理器結(jié)構(gòu),實現(xiàn)了邏輯核處理器的運行時可重構(gòu)機制。文獻 提出了一種支持核資源動態(tài)分組的自適應調(diào)度算法,通過對任務簇的拆分與合并,動態(tài)構(gòu)建可彈性分區(qū)的核邏輯組,實現(xiàn)核資源的隔離優(yōu)化訪問。

GPGPU(General - Purpose Computing on GraphicsProcessing Units)作為一種典型的眾核處理器,有關(guān)研究多面向單任務并發(fā)執(zhí)行方面的優(yōu)化以及應用算法的加速。本文以GPGPU為平臺,通過研究和設計,構(gòu)建了單任務并行、多任務并行和多任務流式處理的多計算模式處理系統(tǒng)。

1 眾核處理機

1.1 眾核處理機結(jié)構(gòu)

眾核處理機是基于眾核控制單元(MPU)與眾核處理器(GPGPU)相結(jié)合的主、協(xié)處理方式構(gòu)建而成,其邏輯結(jié)構(gòu)如圖1所示。眾核處理機由眾核控制單元和眾核計算單元兩部分組成,其中眾核控制單元采用X86結(jié)構(gòu)的MPU,與眾核計算單元之間通過PCI-E總線進行互連。

 


1.2 CUDA流與Hyper-Q

在統(tǒng)一計算設備架構(gòu)(Compute Unified Device Ar-chitecture,CUDA)編程模型中,CUDA流(CUDA Stream)表示GPU的一個操作隊列,通過CUDA流來管理任務和并行。CUDA 流的使用分為兩種:一種是CUDA 在創(chuàng)建上下文時會隱式地創(chuàng)建一個CUDA流,從而命令可以在設備中排隊等待執(zhí)行;另一種是在編程時,在執(zhí)行配置中顯式地指定CUDA 流。不管以何種方式使用CUDA流,所有的操作在CUDA流中都是按照先后順序排隊執(zhí)行,然后每個操作按其進入隊列的順序離開隊列。換言之,隊列充當了一個FIFO(先入先出)緩沖區(qū),操作按照它們在設備中的出現(xiàn)順序離開隊列。

在GPU 中,有一個CUDA 工作調(diào)度器(CUDA WorkDistributor,CWD)的硬件單元,專門負責將計算工作分發(fā)到不同的流處理器中。在Fermi架構(gòu)中,雖然支持16 個內(nèi)核的同時啟動,但由于只有一個硬件工作隊列用來連接主機端CPU 和設備端GPU,造成并發(fā)的多個CUDA 流中的任務在執(zhí)行時必須復用同一硬件工作隊列,產(chǎn)生了虛假的流內(nèi)依賴關(guān)系,必須等待同一CUDA流中相互依賴的kernel執(zhí)行結(jié)束,另一CUDA流中的ker-nel才能開始執(zhí)行。而在Kepler GK110架構(gòu)中,新具有的Hyper-Q特性消除了只有單一硬件工作隊列的限制,增加了硬件工作隊列的數(shù)量,因此,在CUDA 流的數(shù)目不超過硬件工作隊列數(shù)目的前提下,允許每個CUDA流獨占一個硬件工作隊列,CUDA流內(nèi)的操作不再阻塞其他CUDA流的操作,多個CUDA流能夠并行執(zhí)行。

如圖2 所示,當利用Hyper-Q 和CUDA 流一起工作時,虛線上方顯示為Fermi模式,流1、流2、流3 復用一個硬件工作隊列,而虛線下方為Kepler Hyper-Q 模式,允許每個流使用單獨的硬件工作隊列同時執(zhí)行。

 


2 眾核多計算模式處理框架

為了充分發(fā)揮眾核處理器的計算能力,眾核處理系統(tǒng)面對不同的計算任務的特點,可構(gòu)建三種計算模式,即單任務并行計算、多任務并行計算、多任務流式計算。

2.1 眾核多計算模式處理系統(tǒng)結(jié)構(gòu)

眾核多計算模式處理系統(tǒng)結(jié)構(gòu)如圖3 所示。眾核處理系統(tǒng)包括數(shù)據(jù)通信、任務管理、形態(tài)管理、資源管理和控制監(jiān)聽模塊。

 


數(shù)據(jù)通信模塊:提供接口給主控機,負責接收從主控機發(fā)送來的任務命令和任務計算所需的任務數(shù)據(jù),并且最終將眾核處理機運算完成的計算結(jié)果通過該模塊返回給主控機。

控制監(jiān)聽模塊:在眾核處理系統(tǒng)運行時,實時獲取主控機發(fā)送給眾核處理機的任務命令,將其傳送給任務管理模塊,并接收任務管理模塊返回的任務命令執(zhí)行結(jié)果。

任務管理模塊:負責計算任務的加載過程,將控制監(jiān)聽模塊發(fā)送來的任務命令存于任務隊列,當眾核計算單元需要加載任務進行計算時,從任務隊列中獲取任務命令,根據(jù)任務命令從任務配置文件中獲取任務計算所需的任務信息,該任務信息包含了計算任務運行時所需的存儲空間大小、適合于該任務的計算模式、執(zhí)行函數(shù)(即CUDA中的kernel函數(shù))等內(nèi)容,在計算任務在被加載前,需要通知形態(tài)管理模塊把眾核計算單元切換到指定的計算模式下,并通知資源管理模塊分配存儲空間,通過數(shù)據(jù)通信模塊獲取任務數(shù)據(jù),然后讀取任務計算庫,加載執(zhí)行函數(shù)進行計算。

形態(tài)管理模塊:接收任務管理模塊發(fā)送來的目標計算模式,切換到該種計算模式。

資源管理模塊:根據(jù)任務管理模塊發(fā)送的參數(shù)分配存儲空間,包括眾核控制單元的存儲空間和眾核計算單元的存儲空間,眾核控制單元的存儲空間用于對任務數(shù)據(jù)進行緩存,然后通過數(shù)據(jù)傳輸?shù)腁PI接口把緩存在眾核控制單元的數(shù)據(jù)傳送到眾核計算單元的存儲空間,在計算時由從眾核計算單元存儲空間加載數(shù)據(jù)進行計算。

[!--empirenews.page--]

2.2 計算模式構(gòu)建與切換

計算模式構(gòu)建是形態(tài)管理模塊根據(jù)接收到的命令動態(tài)構(gòu)建出被指定的目的計算模式的過程。眾核處理系統(tǒng)在初始化時,就已經(jīng)創(chuàng)建了指定數(shù)目的CUDA 流(CUDA流的最大數(shù)目取決于GPU中硬件工作隊列的數(shù)目),并采用空位標記法對創(chuàng)建的CUDA流進行管理,通過標記位的有效性描述CUDA 流的可用性。當目的計算模式為單任務計算時,只需將首位的CUDA流標記設置為有效,其他全部標記為無效,在對計算任務加載時,將計算任務放入該CUDA流中進行計算;當目的計算模式為多任務計算時,需要將指定數(shù)目CUDA流的標記位設置為有效,在對計算任務加載時,通過輪詢的方式將計算任務放入到相應的CUDA 流中,利用CUDA 流的Hyper-Q特性,同時加載多個計算任務到眾核計算單元;當目的計算模式為多任務流式計算時,需要將指定CUDA 流的標記設置為有效,從構(gòu)建第一個計算步開始,將第一個計算步放入第一個CUDA 流中進行計算,當?shù)谝粋€計算步首次完成計算后,利用二元信號量通知眾核控制單元中的任務管理模塊開始構(gòu)建第二個計算步,并重新構(gòu)建第一個計算步,以此類推,完成對多任務流式計算中每個計算步的動態(tài)構(gòu)建過程。

計算模式的切換是當眾核計算單元的當前計算模式與計算任務執(zhí)行需要的計算模式(即目的計算模式)不匹配時,需要對眾核計算單元的計算模式進行切換,以適應計算模式變化的需求。

在從任務配置文件中獲取適應于計算任務執(zhí)行的目的計算模式后,首先與當前計算模式進行比較,若匹配成功則不需要進行計算模式的切換;若匹配失敗則進一步判斷眾核在當前計算模式下是否空閑,如處于忙碌狀態(tài)則需要等待,對于不同優(yōu)先級的任務設有不同的等待時限,以保證對計算任務的及時響應,當大于這一時限時強制結(jié)束正在運行的任務以釋放計算資源,從而構(gòu)建新的計算模式,完成計算模的切換過程,流程圖如圖4 所示。

 


2.3 共享內(nèi)存緩沖技術(shù)

眾核計算單元在對主控機請求的計算任務加載前,必須獲取來自主控機的任務數(shù)據(jù),為了實現(xiàn)對任務數(shù)據(jù)的接收和發(fā)送,需要建立相應的數(shù)據(jù)緩沖區(qū)。傳統(tǒng)的方法是采用消息隊列和基于共享內(nèi)存信號燈的方式來建立和管理數(shù)據(jù)緩沖區(qū),但當數(shù)據(jù)的寫入和讀取速度差別較大時,容易造成數(shù)據(jù)緩沖區(qū)的阻塞。因此采用一種可滑動動態(tài)共享內(nèi)存緩沖技術(shù),如圖5所示。

在眾核控制單元的存儲空間中申請存儲空間作為存放數(shù)據(jù)的緩沖池,按需要建立指定數(shù)量的單向指針鏈表,每個指針鏈表代表一個數(shù)據(jù)緩沖區(qū),在眾核處理系統(tǒng)的計算模式切換時,可根據(jù)并行任務數(shù)目的變化修改指針鏈表的節(jié)點數(shù),使每個數(shù)據(jù)緩沖區(qū)占用的存儲空間按需滑動,以提高整個數(shù)據(jù)緩池數(shù)據(jù)的傳遞效率。

2.4 計算庫動態(tài)加載

在對計算任務的執(zhí)行函數(shù)進行加載時,采用動態(tài)共享庫的方式,因為動態(tài)鏈接的共享庫具有動態(tài)加載、封裝實現(xiàn)、節(jié)省內(nèi)存等優(yōu)點,可以把眾核計算單元的執(zhí)行函數(shù)與邏輯控制程序相隔離,降低了眾核計算與邏輯控制的耦合度,增加了可擴展性和靈活性。

在動態(tài)加載計算庫前,需要將執(zhí)行函數(shù)編譯生成動態(tài)共享庫,進而在程序中進行顯示調(diào)用。當調(diào)用時使用動態(tài)加載API,該過程首先調(diào)用dlopen以打開指定名字的動態(tài)共享庫,并獲得共享對象的句柄;而后通過調(diào)用dlsym,根據(jù)動態(tài)共享庫操作句柄與符號獲取該符號對應的函數(shù)的執(zhí)行代碼地址;在取得執(zhí)行代碼地址后,就可以根據(jù)共享庫提供的接口調(diào)用與計算任務對應的執(zhí)行函數(shù),將執(zhí)行函數(shù)發(fā)射到眾核計算單元,由眾核計算單元根據(jù)執(zhí)行函數(shù)的配置參數(shù)組織計算資源進行計算;當不會再調(diào)用共享對象時調(diào)用dlclose關(guān)閉指定句柄的動態(tài)共享庫。

3 結(jié)語

針對復雜應用領(lǐng)域計算任務對多種計算模式的需求,本文研究了眾核處理機結(jié)構(gòu),根據(jù)NVIDIA KeplerGK110架構(gòu)中Hyper-Q 與CUDA 流的特性,構(gòu)建了可單任務并行計算、多任務并行計算、多任務流式計算間動態(tài)切換的眾核多計算模式系統(tǒng),能夠提高實時計算平臺的靈活性,以適應不同的任務計算需求。下一步的研究方向是挖掘GPU中硬件工作鏈路與SM(Streaming Mul-tiprocessor)間的映射機制。

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉