7大改進(jìn) NVIDIA第2代CUDA架構(gòu)Fermi分析
在2009 NVIDIA GPU技術(shù)大會(huì)上,NVIDIA發(fā)布了新一代的GPU并行計(jì)算架構(gòu)Fermi,這也是繼去年NVIDIA發(fā)布GT200 GPU時(shí)提出“圖形渲染+并行計(jì)算”的概念,并在這兩年時(shí)間里不斷賦予并推動(dòng)GPU在并行運(yùn)算方面的應(yīng)用后,再次強(qiáng)調(diào)“架構(gòu)”,并正式命名Fermi。

在NVIDIA官方說法看來,Fermi是繼G80架構(gòu)(G9x,GT200都屬于G80第一代并行計(jì)算GPU架構(gòu),但當(dāng)年沒有命名)后,對(duì)GPU作出重大改進(jìn)的一次革命性產(chǎn)品。對(duì)于GPU并行計(jì)算而言,Fermi是第一個(gè)完美的適合并行運(yùn)算的處理器。接下來,我們來看一下Fermi的幾個(gè)重要的革新內(nèi)容。

第一,Fermi支持包括C++在內(nèi)的 C, Fortran, Java, Python, OpenCL and DirectCompute.多種語(yǔ)言或API接口的開發(fā)。

Fermi架構(gòu)示意圖
第二,為了更好的用于GPU高性能計(jì)算,顯存控制器支持ECC顯存,這對(duì)于高性能運(yùn)算來說是非常重要的。

新的緩存與顯存架構(gòu)
第三,NVIDIA并行數(shù)據(jù)緩存(Parallel DataCache),在以往尤其是GT200上對(duì)于每組流處理器都提供了共享緩存,這也是NVIDIA GPU在并行計(jì)算上絕對(duì)領(lǐng)先對(duì)手的一個(gè)硬件上的優(yōu)勢(shì)。而此次Fermi架構(gòu)更加加強(qiáng)了這一環(huán)。為流處理器增加了L1和L2的Cache,聽上去這有點(diǎn)像CPU做法,的確Cache的增加帶來了晶體管數(shù)增加,但意義非常重大。
第四,512個(gè)CUDA架構(gòu)的雙精度浮點(diǎn)運(yùn)算單元,對(duì)于GeForce用戶可以等效認(rèn)為是512個(gè)流處理器。

現(xiàn)場(chǎng)Fermi特點(diǎn)PPT
第五,NVIDIA GigaThread Engine ,這個(gè)內(nèi)核引擎帶來了很多不同。其中支持16核為一組的任務(wù)并發(fā)運(yùn)算,而以往GPU并行運(yùn)算只支持?jǐn)?shù)據(jù)并行運(yùn)算。

雙精度運(yùn)算演示
第六,8倍于現(xiàn)在Tesla1060的雙精度浮點(diǎn)運(yùn)算能力。在GT200發(fā)布時(shí),近1T的浮點(diǎn)運(yùn)算能力讓大家興奮,而我們知道全球HPC排行中一般按照Linpack的雙精度運(yùn)算能力為標(biāo)準(zhǔn)。GT200時(shí)GPU的雙精度運(yùn)算能力是單精度的1/10-1/8。此次Fermi架構(gòu)的演示產(chǎn)品可以都達(dá)到8倍于Tesla 1060的水平。雙精度的支持也對(duì)很多HPC領(lǐng)域是非常必要的。

更多的高性能運(yùn)算需求
第七,Nexus開發(fā)組件的推出。Nexus是整合于Microsoft Visual Studio中的一個(gè)開發(fā)組件,包括 Nexus調(diào)試器, Nexus分析器,Nexus圖形檢查器。它是業(yè)界首個(gè)集成GPU/CPU環(huán)境的開發(fā)組件。

Nexus在Visual Studio下的三大組件
總結(jié)
到底什么是Fermi?這對(duì)于從GeForce開始關(guān)注NVIDIA的大多數(shù)用戶來說似乎不好理解。不過通過我們以上幾點(diǎn)總結(jié)可以看出NVIDIA自G80發(fā)布后的一些新思路。首先毫無疑問的是,NVIDIA此次發(fā)布Fermi后將率先用于Tesla并行計(jì)算產(chǎn)品上,但這并不影響Fermi隨后用于GeForce產(chǎn)品中,當(dāng)然Cache和顯存控制器方面有什么差別目前并不知道。

光線追蹤搭建的3D實(shí)時(shí)環(huán)境
第二,無論從軟件還是硬件角度來看,Fermi的改變非常明顯,經(jīng)過了G80到GT200四年多市場(chǎng)的考驗(yàn),Fermi成為了第一個(gè)真正意義上的完美的并行處理器。與G80剛發(fā)布時(shí)不同,此時(shí)NVIDIA的Fermi有從軟件到硬件以及無數(shù)開發(fā)者、數(shù)萬件以上開發(fā)成品、千萬片支持CUDA GPU等各方面條件的支撐(2008年才有CUDA 2.0,這才迎來了CUDA迅速的發(fā)展,G80發(fā)布時(shí)顯然條件比Fermi差遠(yuǎn)了)。
第三,Fermi在緩存設(shè)計(jì)上是重大改變之一,而在雙精度運(yùn)算能力方面也達(dá)到了很高的水平。對(duì)于傳統(tǒng)的圖形渲染來說,似乎這并沒有特別直接的聯(lián)系。而我們知道,接下來的3D世界應(yīng)該向兩個(gè)方向發(fā)展:物理引擎和光線追蹤。這其實(shí)都是并行運(yùn)算,這也意味著Fermi或者使用Fermi的GeForce已經(jīng)為未來應(yīng)用打好基礎(chǔ)。GPU的未來,甚至是未來的3D世界已經(jīng)向并行運(yùn)算轉(zhuǎn)變。

所以,NVIDIA選擇以并行運(yùn)算處理器的身份發(fā)布 #p#page_title#e#Fermi并不影響GeForce方面的應(yīng)用,根據(jù)NVIDIA消息Fermi會(huì)首先使用在Tesla上,而預(yù)計(jì)在圣誕節(jié)前Fermi架構(gòu)的GeForce肯定會(huì)上市