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