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