通用圖形處理器

通用圖形處理器

通用圖形處理器(General-purpose computing on graphics processing units,簡稱GPGPU),是一種利用處理圖形任務的圖形處理器來計算原本由中央處理器處理的通用計算任務。這些通用計算常常與圖形處理沒有任何關係。由於現代圖形處理器強大的並行處理能力和可程式流水線,令流處理器可以處理非圖形數據。特別在面對單指令流多數據流(SIMD),且數據處理的運算量遠大於數據調度和傳輸的需要時,通用圖形處理器在性能上大大超越了傳統的中央處理器應用程式。

基本介紹

  • 中文名:通用圖形處理器
  • 外文名:General-purpose computing on graphics processing units
  • 簡稱:GPGPU
  • 工作原理:用圖形處理器來計算通用計算任務
主要功能,設計優勢,技術原理,

主要功能

通用圖形處理器(general-purpose graphics processing unit, GPGPU)是一種近年來出現的計算機晶片,它給航空航天以及防務套用中的高性能嵌入式計算帶來了重大突破。這種功能強大的晶片是在前一個十年里作為高端計算機遊戲的圖形處理引擎引入的,是一種大規模並行處理器。它不僅有助於複雜的浮點計算處理,而且容易編程,對於廣泛的嵌入式軍用系統頗具吸引力。
同時,通用圖形處理器技術的進展基本上符合摩爾定律,也就是說,通用圖形處理器的處理能力每2年提高1倍,而尺寸每2年減小一半。現在美國的通用圖形處理器晶片的主要設計製造商有加利福尼亞州聖克拉拉的NVIDIA公司和加利福亞州桑尼維爾的先進微型器件公司(AMD公司)。AMD公司的通用圖形處理器的專門技術中,大多來自於它2006年併購的位於加拿大安大略省馬克姆的ATI技術公司。

設計優勢

通用圖形處理器技術在航空航天和防務數位訊號處理中得到越來越廣泛的使用,包括“開放性圖形庫”( Open Graphics Library, OpenGL)語言、NVIDIA公司創造的並行處理程式語言CUDA和最近出現的“開放性計算語言”( Open Computing Language, OpenCL)在內的軟體程式語言在其中起到了相當大的作用。
在OpenGL, CUDA和OpenCL這些軟體程式語言出現之前,大規模並行處理計算機的編程是一項困難的任務,只有為數不多的專家採用神秘的程式語言才能夠完成。這些新出現的軟體程式語言,尤其是OpenCL有助於熟悉C語言和C++語言的程式編制人員接受通用圖形處理器技術。而且,OpenCL仍在進一步開發之中,最終可能會在通用圖形處理器、CPU和FPGA中通用。這樣的開發有助於在將來開發涉及到CPU、FPGA和通用圖形處理器組合運用的嵌入式計算結構體系,全部用同樣的軟體語言編程和維護。庫圖爾認為,通用圖形處理器和FPGA不會直接而且迅速發生變化,因此CPU能夠在其中發揮重要作用,使得通用圖形處理器、CPU和 FPGA可以作為一種開放性的晶片來編程。
通用圖形處理器的開放性軟體庫的內容也在增加,使得通用圖形處理器的軟體得到更為廣泛的套用。現在也有許多Linux作業系統可以供下載和增加通用圖形處理器的材料。據斯坦說,已經採用FPGA和DSP之類的器件展開了多種類型的嵌入式計算方面的工作,這些系統採用一些專門化的處理技術。通用圖形處理器所使用的開放性的程式語言使情況發生了很大變化。雖然通用圖形處理器的編程類似於FPGA和DSP,但是使用OpenCL來編程,其專門化的程度就比較低了。
此外,通用圖形處理器的編程軟體也有助於它在嵌入計算中的發展。在通用圖形處理器中,多個處理核規則地排列在一起,因此隨著時間的推移,器件中處理核的數量會越來越多,但是通用圖形處理器的軟體沒有必要隨著處理核數量的增加而重新編寫。

技術原理

圖形處理器的實質
即使表面上看來運用通用圖形處理器進行數位訊號處理並沒有利用其圖形處理能力,但是此類器件的圖形特性對於圖像裝置、雷達、聲納、信號情報以及其它進行複雜計算的裝置中的信號處理具有根本性的影響。斯坦對此的解釋是,將通用圖形處理器套用於信號處理是使圖形卡逆向運行。富蘭克林說,通用圖形處理器可以用來解析事物以得到可利用的信息,傳遞周圍環境中的有用材料。通用圖形處理器所擅長的是完成兩方面的工作,一是表現事物,二是解析事物。
通用圖形處理器為軍用信號處理套用系統的設計人員提供了可以利用的圖形處理技術,幾乎免費地得到了極大的嵌入式並行處理能力。通用圖形處理器在航空航天和防務套用中的增長正是將現成的商用技術用於軍事技術領域的實例。富蘭克林說,圖形處理器的主要套用仍然是圖形處理,雖然圖形處理器製造商在計算機遊戲中所掙的美元數以十億計,但是像NVIDIA那樣的公司每研發一個系列的圖形處理器都要投入20億美元的成本。
現在,不僅通用圖形處理器晶片的套用領域從單一的圖形處理裝置擴展到了信號處理裝置,而且通用圖形處理器的軟體程式語言也在向著信號處理和通用處理擴展。類似於“開放性圖形庫”( OpenGL)那樣的圖形處理語言就可以用於通用處理。

相關詞條

熱門詞條

聯絡我們