通用圖形處理器引發(fā)重大變革 無(wú)人機(jī)將發(fā)生質(zhì)變
通用圖形處理器(general-purpose graphics processing unit, GPGPU)是一種近年來(lái)出現(xiàn)的計(jì)算機(jī)芯片,它給航空航天以及防務(wù)應(yīng)用中的高性能嵌入式計(jì)算帶來(lái)了重大突破。這種功能強(qiáng)大的芯片是在前一個(gè)十年里作為高端計(jì)算機(jī)游戲的圖形處理引擎引入的,是一種大規(guī)模并行處理器。它不僅有助于復(fù)雜的浮點(diǎn)計(jì)算處理,而且容易編程,對(duì)于廣泛的嵌入式軍用系統(tǒng)頗具吸引力。 同時(shí),通用圖形處理器技術(shù)的進(jìn)展基本上符合摩爾定律,也就是說(shuō),通用圖形處理器的處理能力每2年提高1倍,而尺寸每2年減小一半,F(xiàn)在美國(guó)的通用圖形處理器芯片的主要設(shè)計(jì)制造商有加利福尼亞州圣克拉拉的NVIDIA公司和加利福亞州桑尼維爾的先進(jìn)微型器件公司(AMD公司)。AMD公司的通用圖形處理器的專門技術(shù)中,大多來(lái)自于它2006年并購(gòu)的位于加拿大安大略省馬克姆的ATI技術(shù)公司。 強(qiáng)大的并行處理能力 在通用圖形處理器這個(gè)名字中,“圖形”( “graphics”)一詞的涵義并不十分確切。特別是在航空航天和國(guó)防應(yīng)用中,通用圖形處理器芯片的最大吸引力是它的并行處理能力,運(yùn)用“圖形”一詞就更顯不當(dāng)。 總部在馬薩諸塞州切姆斯德的水星系統(tǒng)公司的馬克•庫(kù)圖爾(Marc Couture)解釋說(shuō),圖形處理器(GPU)是大規(guī)模并行處理器件,重點(diǎn)應(yīng)用是大型數(shù)據(jù)集的多路和并行處理。相對(duì)說(shuō)來(lái),中央處理器(CPU)的重點(diǎn)應(yīng)用是單路處理。通用圖形處理器每秒進(jìn)行浮點(diǎn)運(yùn)算的次數(shù)要比CPU高出很多。像水星系統(tǒng)公司這樣的企業(yè)總是著眼于不同類型的計(jì)算引擎,很明顯,集合了許多處理核的GPU可以像一個(gè)大型網(wǎng)絡(luò)一樣進(jìn)行浮點(diǎn)運(yùn)算。 弗吉尼亞州夏洛茨維爾的通用電氣智能平臺(tái)公司的通用圖形處理器應(yīng)用工程師達(dá)斯廷•富蘭克林(Dustin Franklin)說(shuō),通用圖形處理器是一種高性能的嵌入式并行處理器。叫高性能的嵌入式并行處理器比較確切。 作為一種嵌入式并行處理引擎,通用圖形處理器特別適合于數(shù)據(jù)密集的信息組合,例如由許多像素組成的數(shù)字圖像。加利福尼亞州弗里蒙特的西彌斯計(jì)算機(jī)公司(Themis Computer)的羅杰•斯坦(Roger Stein)說(shuō),它的數(shù)以千計(jì)的處理器可以一個(gè)像素一個(gè)像素地處理圖像,那些像素可以直接進(jìn)入通用圖形處理器,進(jìn)行并行處理。 水星系統(tǒng)公司的6U OpenVPX GSC6201模塊具有雙通用圖形處理器,用于高端雷達(dá)、電子戰(zhàn)和圖像處理。 以前的并行處理計(jì)算機(jī)又大又復(fù)雜,其硬件結(jié)構(gòu)體系相當(dāng)脆弱,只有專業(yè)的計(jì)算機(jī)人員才能夠編程。在通用圖形處理器出現(xiàn)之前,大多數(shù)的嵌入式計(jì)算都不可能使用并行處理器。由于計(jì)算機(jī)游戲產(chǎn)業(yè)的推動(dòng),通用圖形處理器技術(shù)正在成為數(shù)量越來(lái)越多的嵌入式計(jì)算應(yīng)用的經(jīng)濟(jì)實(shí)用的選擇。有專業(yè)人士稱,通用圖形處理器適合于中等價(jià)位的中等計(jì)算能力的需求,可能既不適合于對(duì)成本敏感的低端應(yīng)用,也不適合于最為昂貴的并行處理體系。寇蒂斯萊特控制-防務(wù)系統(tǒng)公司的威廉•皮勞德(William Pilaud)認(rèn)為,通用圖形處理器的強(qiáng)項(xiàng)是進(jìn)行浮點(diǎn)運(yùn)算,特別適用于具有持續(xù)信息流的雷達(dá)、監(jiān)視和信息功能系統(tǒng)。 并非適用于所有的高性能嵌入式計(jì)算 皮勞德認(rèn)為,通用圖形處理器并非適用于所有的高性能嵌入式計(jì)算,它很適合于需要進(jìn)行大量快速傅里葉變換計(jì)算的應(yīng)用場(chǎng)合,而不適合于需要作出判決的地方。通用圖形處理器的各個(gè)核中不具備CPU所具有的那種判決機(jī)制,也不具備CPU所具有的那種改變數(shù)據(jù)流的能力。也就是說(shuō),對(duì)于像導(dǎo)彈預(yù)警系統(tǒng)和智能運(yùn)動(dòng)控制那樣的由中斷所驅(qū)動(dòng)的應(yīng)用來(lái)說(shuō),通用圖形處理器就絕對(duì)沒(méi)有如Intel Core i7微處理器中的CPU那樣的能力。然而,在需要進(jìn)行大量數(shù)據(jù)處理的應(yīng)用中,就幾乎沒(méi)有什么其它嵌入式計(jì)算技術(shù)能夠與通用圖形處理器匹敵。 庫(kù)圖爾也說(shuō),通用圖形處理器雖然具有極高的處理速度,但是卻不具有在若干微秒甚至若干毫微秒的時(shí)間內(nèi)轉(zhuǎn)向的能力。在電子戰(zhàn)中,必須在若干毫微秒或者幾個(gè)微秒內(nèi)進(jìn)行轉(zhuǎn)向,因此必須采用GPU。 在設(shè)計(jì)中采用通用圖形處理器還必須考慮到它的功耗和散熱。如果將通用圖形處理器與CPU和現(xiàn)場(chǎng)可編程門陣列一對(duì)一地進(jìn)行比較的話,通用圖形處理器的功耗要大得多,所產(chǎn)生的熱量也多許多。據(jù)西彌斯公司的斯坦說(shuō),通用圖形處理器本身的功耗為250瓦,而且,移動(dòng)的軍用嵌入式計(jì)算應(yīng)用采用直流電源,可能難以提供通用圖形處理器所需要的功率。 一般說(shuō)來(lái),通用圖形處理器的功能越強(qiáng)大,它運(yùn)行所需要的電功率也就越高。因此,對(duì)于某些要求更為苛刻的嵌入式計(jì)算應(yīng)用來(lái)說(shuō),通用圖形處理器要達(dá)到其高性能低功耗的要求可能還需要一些時(shí)日。庫(kù)圖爾也說(shuō),某些通用圖形處理器雖然功能強(qiáng)大,但是由于功耗過(guò)高,產(chǎn)生的熱量過(guò)多,也不適合于嵌入式應(yīng)用。 寇蒂斯萊特控制-防務(wù)系統(tǒng)公司提供的基于3U VPX3-491 NVIDIA Fermi GPGPU通用圖形處理器的計(jì)算引擎。 盡管通用圖形處理器功耗很大,發(fā)熱很多,但是進(jìn)行嵌入式計(jì)算設(shè)計(jì)的人士還是應(yīng)該在是否采用通用圖形處理器時(shí)就運(yùn)用異乎尋常的熱管理方法能夠帶來(lái)的好處進(jìn)行權(quán)衡。庫(kù)圖爾解釋說(shuō),對(duì)于某些功能強(qiáng)大的通用圖形處理器可以運(yùn)用一些特殊的冷卻技術(shù)。水星系統(tǒng)公司就一直在進(jìn)行“空氣流”( Air Flow-By)冷卻方式的開發(fā)工作,以一種不同尋常的方式利用空氣來(lái)冷卻發(fā)熱量大的處理器和多核器件。水星系統(tǒng)公司開發(fā)的“空氣流”冷卻技術(shù)用于空氣冷卻和傳導(dǎo)冷卻的VITA 48分系統(tǒng)機(jī)箱,而此型機(jī)箱廣泛地用于地面車輛和飛機(jī)上的高功率雷達(dá)、光電系統(tǒng)、信號(hào)情報(bào)裝置以及電子戰(zhàn)裝置之中。 圖形處理器的實(shí)質(zhì) 即使表面上看來(lái)運(yùn)用通用圖形處理器進(jìn)行數(shù)字信號(hào)處理并沒(méi)有利用其圖形處理能力,但是此類器件的圖形特性對(duì)于圖像裝置、雷達(dá)、聲納、信號(hào)情報(bào)以及其它進(jìn)行復(fù)雜計(jì)算的裝置中的信號(hào)處理具有根本性的影響。斯坦對(duì)此的解釋是,將通用圖形處理器應(yīng)用于信號(hào)處理是使圖形卡逆向運(yùn)行。富蘭克林說(shuō),通用圖形處理器可以用來(lái)解析事物以得到可利用的信息,傳遞周圍環(huán)境中的有用材料。通用圖形處理器所擅長(zhǎng)的是完成兩方面的工作,一是表現(xiàn)事物,二是解析事物。 通用圖形處理器為軍用信號(hào)處理應(yīng)用系統(tǒng)的設(shè)計(jì)人員提供了可以利用的圖形處理技術(shù),幾乎免費(fèi)地得到了極大的嵌入式并行處理能力。通用圖形處理器在航空航天和防務(wù)應(yīng)用中的增長(zhǎng)正是將現(xiàn)成的商用技術(shù)用于軍事技術(shù)領(lǐng)域的實(shí)例。富蘭克林說(shuō),圖形處理器的主要應(yīng)用仍然是圖形處理,雖然圖形處理器制造商在計(jì)算機(jī)游戲中所掙的美元數(shù)以十億計(jì),但是像NVIDIA那樣的公司每研發(fā)一個(gè)系列的圖形處理器都要投入20億美元的成本。 現(xiàn)在,不僅通用圖形處理器芯片的應(yīng)用領(lǐng)域從單一的圖形處理裝置擴(kuò)展到了信號(hào)處理裝置,而且通用圖形處理器的軟件編程語(yǔ)言也在向著信號(hào)處理和通用處理擴(kuò)展。類似于“開放性圖形庫(kù)”( OpenGL)那樣的圖形處理語(yǔ)言就可以用于通用處理。 通用圖形處理器的設(shè)計(jì)優(yōu)勢(shì) 通用圖形處理器技術(shù)在航空航天和防務(wù)數(shù)字信號(hào)處理中得到越來(lái)越廣泛的使用,包括“開放性圖形庫(kù)”( Open Graphics Library, OpenGL)語(yǔ)言、NVIDIA公司創(chuàng)造的并行處理編程語(yǔ)言CUDA和最近出現(xiàn)的“開放性計(jì)算語(yǔ)言”( Open Computing Language, OpenCL)在內(nèi)的軟件編程語(yǔ)言在其中起到了相當(dāng)大的作用。 在OpenGL, CUDA和OpenCL這些軟件編程語(yǔ)言出現(xiàn)之前,大規(guī)模并行處理計(jì)算機(jī)的編程是一項(xiàng)困難的任務(wù),只有為數(shù)不多的專家采用神秘的編程語(yǔ)言才能夠完成。這些新出現(xiàn)的軟件編程語(yǔ)言,尤其是OpenCL有助于熟悉C語(yǔ)言和C++語(yǔ)言的程序編制人員接受通用圖形處理器技術(shù)。而且,OpenCL仍在進(jìn)一步開發(fā)之中,最終可能會(huì)在通用圖形處理器、CPU和FPGA中通用。這樣的開發(fā)有助于在將來(lái)開發(fā)涉及到CPU、FPGA和通用圖形處理器組合運(yùn)用的嵌入式計(jì)算結(jié)構(gòu)體系,全部用同樣的軟件語(yǔ)言編程和維護(hù)。庫(kù)圖爾認(rèn)為,通用圖形處理器和FPGA不會(huì)直接而且迅速發(fā)生變化,因此CPU能夠在其中發(fā)揮重要作用,使得通用圖形處理器、CPU和 FPGA可以作為一種開放性的芯片來(lái)編程。 通用圖形處理器的開放性軟件庫(kù)的內(nèi)容也在增加,使得通用圖形處理器的軟件得到更為廣泛的應(yīng)用,F(xiàn)在也有許多Linux操作系統(tǒng)可以供下載和增加通用圖形處理器的材料。據(jù)斯坦說(shuō),已經(jīng)采用FPGA和DSP之類的器件展開了多種類型的嵌入式計(jì)算方面的工作,這些系統(tǒng)采用一些專門化的處理技術(shù)。通用圖形處理器所使用的開放性的編程語(yǔ)言使情況發(fā)生了很大變化。雖然通用圖形處理器的編程類似于FPGA和DSP,但是使用OpenCL來(lái)編程,其專門化的程度就比較低了。 此外,通用圖形處理器的編程軟件也有助于它在嵌入計(jì)算中的發(fā)展。在通用圖形處理器中,多個(gè)處理核規(guī)則地排列在一起,因此隨著時(shí)間的推移,器件中處理核的數(shù)量會(huì)越來(lái)越多,但是通用圖形處理器的軟件沒(méi)有必要隨著處理核數(shù)量的增加而重新編寫。 每瓦功耗的能力 通用圖形處理器最能夠吸引嵌入式系統(tǒng)設(shè)計(jì)人員的方面是它的每瓦功耗產(chǎn)生的能力高,而這正是要求尺寸,重量和功率消耗(size, weight, and power consumption, SWAP)要小的系統(tǒng)的重要考慮之一。斯坦說(shuō),通用圖形處理器具有巨大的SWAP潛力,雖然它的功率消耗大,但是由于有許多的核,因此在某種程度上可以代替許多個(gè)通用處理器。用一個(gè)具有通用圖形處理器的服務(wù)器可以代替6個(gè)1U服務(wù)器,并且可以用它來(lái)加強(qiáng)大量必須進(jìn)行的處理。 無(wú)論現(xiàn)在還是未來(lái),對(duì)于像無(wú)人機(jī)那樣的要求在小的尺寸內(nèi)擁有大的處理能力的裝備來(lái)說(shuō),尺寸,重量和功率消耗小都是特別重要的。皮勞德說(shuō),載人機(jī)和無(wú)人機(jī)都存在裝備的尺寸問(wèn)題,如果能夠有效地解決冷卻問(wèn)題的話,通用圖形處理器就會(huì)具有相當(dāng)大的吸引力。如果能夠提供幾百瓦的功率的話,則可以考慮使用通用圖形處理器。使用通用圖形處理器可以提高系統(tǒng)的效率。 目前,通用圖形處理器的各項(xiàng)性能正在改進(jìn),它的數(shù)字信號(hào)處理速度也正在提高。此前,通用圖形處理器存在的一個(gè)問(wèn)題是反應(yīng)速度慢,在綜合系統(tǒng)中數(shù)據(jù)在CPU和通用圖形處理器之間移動(dòng)需要額外的時(shí)間。水星系統(tǒng)公司就采用了一種稱為“直接流”( StreamDirect)的方法,使數(shù)據(jù)直接從I/O源,例如傳感器向圖形處理器移動(dòng),以此來(lái)提高系統(tǒng)的反應(yīng)速度。 NVIDIA公司也采取了類似的措施,于2010年引入了“直接圖形處理器”(GPUDirect)。開頭,GPUDirect用來(lái)提高了網(wǎng)絡(luò)和存儲(chǔ)裝置之間的通信速度;而后又用來(lái)支持圖形處理器和視頻應(yīng)用程序接口(API)之間的對(duì)等網(wǎng)絡(luò)通信以及圖形處理器和第三方器件之間的RDMA。GPUDirect使得第三方網(wǎng)絡(luò)適配器、固態(tài)器件以及其它器件能夠直接讀寫CUDA主機(jī)和存儲(chǔ)器,而不需要經(jīng)過(guò)CPU。現(xiàn)在,GPUDirect RDMA使得FPGA、磁盤或者以太網(wǎng)的數(shù)據(jù)流能夠直接進(jìn)入通用圖形處理器,而不需要經(jīng)過(guò)CPU。GPUDirect的這種能力會(huì)為各種航空航天和防務(wù)系統(tǒng),例如電子戰(zhàn)裝置直接帶來(lái)好處,將進(jìn)行信號(hào)情報(bào)和電子戰(zhàn)基準(zhǔn)計(jì)算的時(shí)間從原來(lái)的1毫秒縮短為20至50微秒。
更多相關(guān): AV集成