2880流處理器!NVIDIA GK110詳細解讀
泡泡網(wǎng)顯卡頻道5月19日 首日的GTC 2012大會上,NVIDIA CEO黃仁勛就為我們正式介紹了全息Kepler架構(gòu)的GK110 GPU,產(chǎn)品將被應(yīng)用在Tesla K20 GPU計算卡上,相比Fermi提供3倍的雙精度浮點計算性能。
GK110采用28nm工藝,擁有71億晶體管,按照GK104的294mm2來計算應(yīng)該達到了550mm2+的水準,同GF110一樣,GK110同樣是為雙精度浮點計算而設(shè)計的計算卡,雖然規(guī)格達到了兩倍的GK104,但是游戲性能提升將打一部分折扣,GK110單/雙精度浮點計算按照1/3設(shè)計,對比GK104則為1/24,很明顯是為游戲而設(shè)計的。
基于GK110的Tesla K20 GPU計算卡
而在高性能計算領(lǐng)域,GK110也是首款支持Hyper-Q、Dynamic Parallelism并行調(diào)度的GPU,這也是NVIDIA將其計算定位3.5代的原因,相比GK104有了顯著的改善。
規(guī)格方面GK110 71億晶體管主要用于CUDA核心、以及顯存控制器的增加,SMX流式多處理器增加到15組,每組繼續(xù)保持GK104的192 CUDA設(shè)計架構(gòu),也就是GK110總計擁有多達2880個流處理器(CUDA)。
GK110和GK104二者的架構(gòu)還是有所區(qū)別,為了增加雙精度計算能力,GK110每組SMX提供多達64個FMA雙精度單元,對比GK104只有8個FMA雙精度單元,這也是二者在雙精度計算能力上巨大差距的原因。
GK110 Die
按照NVIDIA的數(shù)據(jù)GK104的單雙精度計算能力分別為3.09TFLOPS和0.13TFLOPS,而GK110單雙精度計算能力分別達到了4.2TFLOPS和1.4TFLOPS,分別提升了36%和1077%。
GK110 SMX
為滿足帶寬傳輸需求,GK110提供了六組GDDR5顯存控制器,組成384Bit顯存位寬,顯存帶寬提升至256GB/s。而15組SMX流式多處理器共享的L2緩存也翻倍至1.5MB(對比Fermi為768KB),并具備ECC片上保護,線程只能單向調(diào)用L2緩存(或者通過L1->L2逐級調(diào)用),并不具備寫入L2的權(quán)限。
頻率方面,GK110核心并不會像GK104沖破1GHz,作為計算卡,GK110會保守的設(shè)置在800MHz左右,盡管如此,GK110的功耗還是得到了顯著地提升,功耗應(yīng)該在260-300W之間的水平,需配備6pin+8pin PCI-E供電接口才能夠滿足。
已經(jīng)完善的GTX 600高端系列產(chǎn)品線
而在桌面推廣上,GK110很大可能將會為下一代GeForce GTX 780而準備,由于架構(gòu)設(shè)計原因,玩家們期待的游戲性能將不足以推翻現(xiàn)有的GTX 690顯卡,不過更好的散熱控制,另外相對GTX 680不錯的性能提升,還是可以勝任下一代顯卡的需求。
Quad Warp調(diào)度和Dynamic Parallelism解析
● Quad Warp Scheduler調(diào)度
在SMX流式多處理器中,每32并行線程叫做為warps,而每個SMX中擁有四組Warp Scheduler調(diào)度和八組instruction dispatch單元,允許四個warps同時執(zhí)行,而Kepler的Quad Warp Scheduler調(diào)度正是基于四組warps,在每個循環(huán)中可以指派2個獨立的指令,不同于Fermi,GK110允許雙精度指令和部分其他指令配對,例如load/store、texture以及一些整數(shù)型指令,以提高效率。
在采樣和圖像數(shù)據(jù)過濾,GPU硬件紋理單元顯得非常重要,相對Fermi,Kepler的紋理吞吐量得到急劇增加,每組SMX中包含了16個紋理填充單元,對比Fermi GPU(GF110)增加了4倍。
● Dynamic Parallelism
在混合CPU-GPU系統(tǒng)中,較大的并行代碼在GPU內(nèi)被完整執(zhí)行可有有效提升GPU的性能和效能,而目前來說GPU并不具備完全處理這樣的并行任務(wù),需要大量利用到CPU來參與計算處理,kernel的創(chuàng)建都需要CPU來實現(xiàn),嚴重影響了GPU的計算執(zhí)行效率。
而為了讓GPU更大限度的發(fā)揮并行計算的能力,GK110引入了Dynamic Parallelism(動態(tài)并行調(diào)度),使得GPU內(nèi)核有了獨立載入工作負載的能力,G能夠在GPU片上自身對kernel執(zhí)行后的結(jié)果進行判斷并確定、創(chuàng)建后續(xù)新的kernel。 #p#page_title#e#
使用Dynamic Parallelism將大大簡化了并行編程,讓GPU加速能夠應(yīng)用到更廣范圍的流行算法上,例如自適應(yīng)網(wǎng)格細分、高速多級法以及多柵法。
Hyper-Q和Grid Management Unit解析
● Hyper-Q
在Fermi時代,CPU只能夠同時運行1個MPI(Message Passing Interface)任務(wù),而Kepler GK110可以實現(xiàn)同時32個MPI的任務(wù)執(zhí)行,Hyper-Q讓多個CPU核心能夠同時利用單個Kepler GPU上的諸多CUDA核心。大大提升了GPU的利用率、縮短了CPU閑置時間、提高了可編程性。Hyper-Q非常適合采用MPI的集群應(yīng)用程序。
Hyper-Q的顯著改善在于使用MPI的并行計算系統(tǒng),基于早期MPI系統(tǒng)算法的多核CPU系統(tǒng)的負載低于GPU的實際能力,導(dǎo)致GPU資源并不能被充分利用,GPU并沒有分配到足夠的工作,出現(xiàn)了虛假的瓶頸依賴,Hyper-Q將移除這些虛假依賴,大大提高了整個MPI進程的GPU共享效率。
● Grid Management Unit
在Fermi時代,CWD(CUDA Work Distributor)下Grid進入GPU內(nèi)執(zhí)行后,必須等到工作完全執(zhí)行完后才能運行另一個Grid,而在GK110中,工作流程中加入了全新的Grid Management Unit管理單元,由CWD發(fā)射的Grid首先將進入Grid Management Unit管理單元。
Grid Management Unit能夠智能管理CUDA創(chuàng)建的、CPU建立的gird,可以實現(xiàn)暫停新grid的分發(fā)、停掉申請的gird、掛起的grid,直到再需要它們的時候。SMX和Grid Management Unit有專門的直連連接,從而可以核準在GPU上透過名為Dynamic Parallelism的技術(shù)將新工作發(fā)送回Grid Management Unit來排序和分發(fā)。
● NVIDIA GPUDirect
面對大量數(shù)據(jù),增加數(shù)據(jù)吞吐量和降低延遲是增加計算性能的關(guān)鍵,GK110支持NVIDIA GPUDirect的RDMA,允許第三方直接訪問GPU顯存,例如IB適配器、NIC(網(wǎng)卡)和SSD,使用NVIDIA最新的CUDA 5.0,GPUDirect可以提供如下新特性:
- NIC和GPU之間無需CPU端數(shù)據(jù)緩沖的直接內(nèi)存訪問(DMA)
- 顯著改善MPISend/ MPIRecv GPU和其他網(wǎng)絡(luò)節(jié)點之間的效率
- 消除CPU帶寬和延遲瓶頸
- 與大量第三方設(shè)備(采集、存儲設(shè)備)協(xié)同工作
例如在石油和天然氣勘探地震成像跨多個GPU的影像數(shù)據(jù)處理上,以往需要數(shù)以百計的CPU參與緊密合作,改用GPUDirect后,將直接改善多個GPU的影像數(shù)據(jù)的協(xié)同處理,CPU參與數(shù)據(jù)溝通的工作將得到全面緩解