黃鶴 姜虹 李婷 林妍初 王國富
(黑龍江省計算中心黑龍江省哈爾濱市150036)
GPU的應(yīng)用及未來發(fā)展方向
黃鶴 姜虹 李婷 林妍初 王國富
(黑龍江省計算中心黑龍江省哈爾濱市150036)
計算機圖形處理器(GPU,Graphics Processing Unit)正在以大大超過摩爾定律的速度高速發(fā)展,極大的提高了計算機圖形處理的速度和質(zhì)量,不但促進了圖像處理、虛擬現(xiàn)實、計算機仿真等相關(guān)應(yīng)用領(lǐng)域的快速發(fā)展,同時也為人們利用GPU進行圖形處理以外的通用計算提供了良好的運行平臺。
GPU;虛擬化;圖論算法
GPU的發(fā)展速度遠遠超過通用處理器,特別是隨著可編程能力、并行處理能力和應(yīng)用范圍方面得到不斷提升和擴展,使得GPU已成為當(dāng)前計算機系統(tǒng)中具備高性能處理能力的部件。因此,充分利用現(xiàn)有計算資源,發(fā)揮GPU的高性能計算能力,在GPU與CPU的協(xié)作模式、GPU通用計算的計算模式以及性能優(yōu)化等方面進行深入研究,將對進一步拓展目前高性能計算體系結(jié)構(gòu),為科學(xué)計算和工程應(yīng)用提供新型的計算資源具有重要意義。
1.1 GPU加速計算有向圖的強連通分量
對于FB算法,其在計算過程中不是依靠DFS為子的一種算法,而是通過分配模式將不同的子問題分配到各個單元中對其進行處理,而對于每個子問題,其都是通過頂點的可達性來進行分析,因此,F(xiàn)B算法具有較強的并行化能力。對于FB算法,其具體的計算過程是:首先選擇一個頂點,然后對其前閉包和后閉包進行計算,兩個集合之間的交集就是強連通分量值。然后通過剩余的頂點對原圖進行3個子集的劃分,并通過迭代計算對三個子圖進行重復(fù)性的上述計算過程,這樣就能夠?qū)崿F(xiàn)子圖的并行處理計算。
1.2 GPU加速計算圖的最小生成樹
加入G的一個子圖包含了G的全部頂點,那么就將其稱為G的生成樹。
為了能夠更好的對圖的數(shù)據(jù)結(jié)構(gòu)進行處理,同時節(jié)省存儲空間,在對生成樹進行計算時,往往采用的是兩種圖的數(shù)據(jù)結(jié)構(gòu),下面的(a)和(b)兩種不同的結(jié)構(gòu)構(gòu)成了兩種不同的計算方法,其中,(a)可以將所有的邊都看做是沒有方向的,然后通過(S,E,W)來對其進行表示,而對于(b)來說,其采用的是壓縮鄰接表而對方法,將每一條邊看做是方向完全相反的兩條邊對其進行表示,采用的是(E,W)元組。而對于VP,其中存放的則是索引位置,而W數(shù)組的使用是為了對邊的權(quán)值進行存儲。
GPU的視頻編輯特效技術(shù)是通過非線性編輯系統(tǒng)來實現(xiàn)的,視頻編輯特技是GPU的一個重要功能。YUV(4:2:0)既可以理解為視頻進行解碼處理后所產(chǎn)生的數(shù)據(jù),也可以直接將未壓縮的視頻數(shù)據(jù)進行編碼,作為非線性編輯系統(tǒng)必不可少的組成要素,視頻編輯特技處理子系統(tǒng)的運行流程如下:①視頻通過非線性編輯系統(tǒng)進行解碼后,形成了YUV(04:2:0)平面格式視頻數(shù)據(jù);②特技處理子系統(tǒng)將解碼后的數(shù)據(jù)進行特輯編輯,依然輸出平面格式的視頻數(shù)據(jù);③通過特技處理子系統(tǒng)輸出的視頻數(shù)據(jù)經(jīng)過非線性編輯系統(tǒng)進行編碼,實現(xiàn)一次完整的特技編輯。
3.1 獨占使用
獨占使用(VMMpass-through)是指繞過虛擬機的管理系統(tǒng),將GPU使用權(quán)直接分配給某一虛擬機,任何時刻都只有一臺虛擬機擁有GPU的使用權(quán)限。這種虛擬化方式使GPU的獨立性與完整性得以保存,而且效果與非虛擬條件下的結(jié)果差別不大,同時,能夠進行通用計算。獨占設(shè)備法的設(shè)計思路是使原生驅(qū)動和硬件能夠被客戶操作系統(tǒng)直接使用,缺少必要的中間層維護和GPU狀態(tài)跟蹤,對實時遷移等高級特性支持不足。
3.2 設(shè)備模擬
這種模擬器只是在軟件調(diào)試和硬件設(shè)計時得到應(yīng)用,并不能作為VMM中的虛擬設(shè)備使用。QEMU目前具備基本2D功能的顯卡(Cirrus CLGD 5446 PCI VGA card),已經(jīng)在虛擬化系統(tǒng)廣泛應(yīng)用,但也只仿真了GPU的部分功能,如在KVM和Xen中負責(zé)虛擬化顯示設(shè)備。VMware SVGAII[8]是VMware中獨立實現(xiàn)的仿真設(shè)備,能支持2D顯示和Direct3D接口,但不支持OPENGL,且對Direct3D的支持仍然是使用API重定向技術(shù)。
3.3 API重定向技術(shù)
應(yīng)用接口虛擬化(API remoting,API重定向技術(shù)),是指對GPU相關(guān)的應(yīng)用程序編程接口在應(yīng)用層中進行攔截,然后使用重定向(使用GPU)或模擬(不使用GPU)方式實現(xiàn)相應(yīng)功能,將完成的結(jié)果返回給對應(yīng)的應(yīng)用程序。API重定向技術(shù)方案處理參數(shù)在API層進行,能夠管理虛擬機內(nèi)部狀態(tài)。
3.4 GPU虛擬化應(yīng)用研究
虛擬化桌面應(yīng)用指虛擬機在物理機上提供給用戶透明的桌面使用環(huán)境,這些桌面使用環(huán)境通常具備良好的可遷移性。圖形處理方式包括直接采用物理顯卡和采用虛擬顯卡即GPU虛擬化方式。其中,物理顯卡的方式就是在對系統(tǒng)的資源進行整合與分配時,直接將物理顯卡的控制權(quán)重新分配給特權(quán)的虛擬機。與真實物理主機相比,這種方式使特權(quán)虛擬機可以獲得同樣的圖形效果,然而它與虛擬機動態(tài)分配、資源共享的設(shè)計理念不符,并且增加了使用成本;GPU虛擬化方式即在虛擬機操作系統(tǒng)中模擬一塊能夠進行圖形處理的物理顯卡。
GPU計算與我們的生活息息相關(guān)。GPU可以使在能見度低的環(huán)境下獲得的圖片變得更加清晰。該技術(shù)在汽車駕駛、圖像監(jiān)控、目標(biāo)識別等領(lǐng)域中有重要的應(yīng)用前景,尤其是對重慶這種“大霧城市”來說作用尤為明顯。
GPU從最早以游戲為主要代表的圖形應(yīng)用,到后來人們發(fā)現(xiàn)它出色的并行計算能力,使它逐步進化成協(xié)處理器,在動漫渲染、石油勘察、生物醫(yī)療等眾多方面發(fā)揮著重要作用。GPU在數(shù)據(jù)計算方面昭示著未來高性能計算將走向“CPU+GPU異構(gòu)計算”??梢赃@么認為,如今GPU的應(yīng)用已經(jīng)滲入到我們生活的方方面面。
搭建CPU-GPU集群并行計算平臺,集群中每個計算節(jié)點都以CPU為主處理器GPU為協(xié)處理器,將并行數(shù)值計算部分由GPU完成,其余操作由CPU完成。這種技術(shù)已經(jīng)當(dāng)前行業(yè)的必然發(fā)展方向,高性能計算領(lǐng)域中GPU集群的會越來越普遍,為我們的生產(chǎn),生活帶來更好的方向。
[1]呂相文.高性能計算云環(huán)境下GPU并行計算技術(shù)及應(yīng)用研究[J].南京航空航天大學(xué),2015.
[2]姜鑫.基于GPU的高清游戲視頻實時編解碼技術(shù)的研究[J].吉林大學(xué),2015.
TP751
A
1004-7344(2016)30-0268-01
黑龍江省自然科學(xué)基金項目(編號F201437)資助。
2016-10-9