GPU、CPU:不止一字之差那么簡單
4. GPU的現狀
GPU引發了計算機可視化的革命。處理器巨頭Intel感受到GPU帶來的強大的沖擊力,Intel專門開發了一套面向可編程的顯示計算通用架構芯片的全新架構———Larrabee架構。它能帶來的效果可從英特爾公司高級副總裁兼數字企業事業部總經理———帕特·基辛格在IDF峰會上的講話得出答案。
“可編程的顯示計算通用架構芯片是一場革命,它將顛覆持續了幾十年的顯卡產業,可編程的顯示計算通用架構芯片雖然不會馬上替代顯卡,但是在三四年之后,隨著我們相關技術、產品的成熟上市,顯卡產業將消亡。”
按照英特爾的觀點,隨著可編程的顯示計算通用架構芯片的成熟,它將逐步取代GPU的地位,顯卡則會慢慢被集成取代,作為獨立硬件生存的空間會越來越小。
GPU如果只是作為顯卡就太浪費了,因此NVIDIA推出CUDA(Compute Unified Device Architecture統一計算設備架構),讓顯卡可以用于圖像計算以外的目的。并對GPU的功能進行了重新的定義,CUDA是一個革命性的計算架構和計算思路,能夠讓GPU在消費、商務、技術等應用方面大展拳腳,解決復雜的計算問題。CUDA能夠更有效地使用性能日益提升的GPU性能,有效地利用GPU的高速運算能力,配合CPU進行高性能通用計算。
GPU和高并行處理器都在同時間賽跑,快速的向前發展以搶占未來的市場,未來處理器的速度會在這次競爭中發展到什么地步值得我們期待。
5. GPU的應用
GPU應用的研究圍繞著高浮點運算能力,可編程性和平行運算進行。到目前為止,GPU和CUDA的配合,主要應用于商業高端運算或者超級運算。如tesla高性能計算,GPU加速Matlab高性能計算,醫療圖像的生成等。
由于GPU的匯編指令比較復雜,而且對于各種版本的硬件的支持存在不統一的問題,一些高級語言(例如GLSL、HLSL)已經被一些大廠商開發出來,加快了對GPU編程的應用研究。從系統架構上看,GPU是針對向量計算進行了優化的高度并行的數據流處理器,其中包括兩種流處理單元:多指令多數據流(MIMD)的處理單元———頂點處理流水線(Vertex Shader),單指令多數據流(SIMD)的處理單元———像素處理流水線。這種以數據流作為處理單元的處理器,在對數據流的處理上可以獲取較高的效率,因此很多研究人員從事一個新的研究領域:基于GPU 的通用計算(GPGPU:General- Purpose Computation onGraphics Processors),其主要研究內容除了圖形處理以外,考慮更為廣泛的應用計算。GPU最初的設計思想給這個新的領域帶來了問題。GPU是專門為圖形處理設計的處理器,它具有自己的存儲單元,在數據存取方式上存在一定的特殊性,而且通常對GPU進行開發的是一些游戲廠商,使用非標準的編程模式,編程環境和體系結構方面絕大部分被當做商業機密,沒有對研究人員公開,可參考的資料就有限,研究人員在研究并行算法的同時還必須研究如何使GPU在進行通用計算時取得最高的性能。針對上面的問題,研究人員已經提出了GPU通用編程模型和方法,無疑推動了GPU在非圖形學領域的應用。
最近幾年,在GPGPU方面取得了不少的成果,比如代數計算及流體模擬、數據庫操作、頻譜變換和濾波等。軟件編程方面也有成果,高級繪制語言及實時繪制語言(繪制程序設計的思想源自于早年Pixar設計的RenderMan繪制軟件,此軟件多年來廣泛應用于好萊塢電影制作的繪制),OpenGL shading language、斯坦福大學的RTSL(real- time shading language)、Microsoft的HLSL(high- level shading language) 以及NVIDIA的Cg在此方面具有較大的影響;流處理機編程環境及工具已開發出來擴大GPU的編程。
6. 結語
目前,CUDA和GPU的配合還不是很默契,真正面向民用市場還需一些時日,圖形處理的市場越來越大,給GPU的發展提供了強大的驅動力。GPU應用于通用計算領域已經取得了一定的進展,GPU的身影會逐漸地出現在民用市場。
GPU和CPU的最終結果會怎樣?眾多因素的影響現在還不得而知。GPU會不會像386時代一樣,最初作為獨立芯片的數學協處理器387,最終融合到CPU中而消亡或者NVIDIA真的開發出像CPU那樣能處理各種通用運算的GPU,GPU時代到來。無數的遐想出現在我們的頭腦,還是讓市場來決定這個容易引起爭議的問題。















評論