摩爾定律已死?GPU會取代CPU的位置嗎?

點擊查看全文


北京舉辦的NVIDIA GTC China會議中,無論是AI智能運算,還是服務器數據中心、智能城市,甚至還有去年很火熱但是已經很多人已經支撐不下去的虛擬現實,看起來在很多內心中依然是屬於圖形行業代表的NVIDIA已經變得越來越豐滿,不過在這些新聞的背後,似乎還有更大膽的預言:摩爾定律已死,GPU最終會取代CPU。

摩爾定律是由英特爾(Intel)創始人之一戈登·摩爾(Gordon Moore)提出來的。其內容爲:當價格不變時,集成電路上可容納的元器件的數目,約每隔18-24個月便會增加一倍,性能也將提升一倍。換言之,每一美元所能買到的電腦性能,將每隔18-24個月翻一倍以上。這一定律揭示了信息技術進步的速度。
儘管這種趨勢已經持續了超過半個世紀,摩爾定律仍應該被認爲是觀測或推測,而不是一個物理或自然法。預計定律將持續到至少2015年或2020年 。然而,2010年國際半導體技術發展路線圖的更新增長已經放緩在2013年年底,之後的時間裏晶體管數量密度預計只會每三年翻一番。

CPU和GPU之所以大不相同,是由於其設計目標的不同,它們分別針對了兩種不同的應用場景。CPU需要很強的通用性來處理各種不同的數據類型,同時又要邏輯判斷又會引入大量的分支跳轉和中斷的處理。這些都使得CPU的內部結構異常複雜。而GPU面對的則是類型高度統一的、相互無依賴的大規模數據和不需要被打斷的純淨的計算環境。  於是CPU和GPU就呈現出非常不同的架構

  • GPU採用了數量衆多的計算單元和超長的流水線,但只有非常簡單的控制邏輯並省去了Cache。而CPU不僅被Cache佔據了大量空間,而且還有有複雜的控制邏輯和諸多優化電路,相比之下計算能力只是CPU很小的一部分 screenshot

從上圖可以看出:Cache, local memory: CPU > GPU Threads(線程數): GPU > CPURegisters: GPU > CPU 多寄存器可以支持非常多的Thread,thread需要用到register,thread數目大,register也必須得跟着很大才行。SIMD Unit(單指令多數據流,以同步方式,在同一時間內執行同一條指令): GPU > CPU。 CPU 基於低延時的設計:
screenshot

  • CPU有強大的ALU(算術運算單元),它可以在很少的時鐘週期內完成算術計算。當今的CPU可以達到64bit 雙精度。執行雙精度浮點源算的加法和乘法只需要1~3個時鐘週期。CPU的時鐘週期的頻率是非常高的,達到1.532~3gigahertz(千兆HZ, 10的9次方).大的緩存也可以降低延時。保存很多的數據放在緩存裏面,當需要訪問的這些數據,只要在之前訪問過的,如今直接在緩存裏面取即可。複雜的邏輯控制單元。當程序含有多個分支的時候,它通過提供分支預測的能力來降低延時。數據轉發。 當一些指令依賴前面的指令結果時,數據轉發的邏輯控制單元決定這些指令在pipeline中的位置並且儘可能快的轉發一個指令的結果給後續的指令。這些動作需要很多的對比電路單元和轉發電路單元。 screenshot

GPU是基於大的吞吐量設計。GPU的特點是有很多的ALU和很少的cache. 緩存的目的不是保存後面需要訪問的數據的,這點和CPU不同,而是爲thread提高服務的。如果有很多線程需要訪問同一個相同的數據,緩存會合並這些訪問,然後再去訪問dram(因爲需要訪問的數據保存在dram中而不是cache裏面),獲取數據後cache會轉發這個數據給對應的線程,這個時候是數據轉發的角色。但是由於需要訪問dram,自然會帶來延時的問題。GPU的控制單元(左邊黃色區域塊)可以把多個的訪問合併成少的訪問。GPU的雖然有dram延時,卻有非常多的ALU和非常多的thread. 爲啦平衡內存延時的問題,我們可以中充分利用多的ALU的特性達到一個非常大的吞吐量的效果。儘可能多的分配多的Threads.通常來看GPU ALU會有非常重的pipeline就是因爲這樣。所以與CPU擅長邏輯控制,串行的運算。和通用類型數據運算不同,GPU擅長的是大規模併發計算,這也正是密碼破解等所需要的。所以GPU除了圖像處理,也越來越多的參與到計算當中來。

什麼類型的程序適合在GPU上運行? 

(1)計算密集型的程序。所謂計算密集型(Compute-intensive)的程序,就是其大部分運行時間花在了寄存器運算上,寄存器的速度和處理器的速度相當,從寄存器讀寫數據幾乎沒有延時。可以做一下對比,讀內存的延遲大概是幾百個時鐘週期;讀硬盤的速度就不說了,即便是SSD, 也實在是太慢了。 

(2)易於並行的程序。GPU其實是一種SIMD(Single Instruction Multiple Data)架構, 他有成百上千個核,每一個核在同一時間最好能做同樣的事情。

您是否瞭解GPU呢?

您認爲CPU會被GPU取代嗎?

您瞭解CPU現在最大的瓶頸嗎?



點擊查看全文


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章