想必大家都知道,顯卡巨頭Nvidia公司的產(chǎn)品可以分為三大類:科學(xué)計算卡(Tesla)、專業(yè)圖形卡(Quadro)和家用顯卡(Geforce)類??墒峭瑯佣际秋@卡,為什么Geforce卡只需要幾千塊,而Tesla計算卡能賣到5-6萬呢?
FP64雙精度浮點(diǎn)計算能力強(qiáng)
對于專業(yè)卡而言,僅強(qiáng)調(diào)FP32單精度運(yùn)算速度是不夠的,畢竟進(jìn)行生化模擬,比如化學(xué)分析和生物遺傳學(xué)對數(shù)學(xué)精度的要求遠(yuǎn)遠(yuǎn)高于圖形成像要求。舉個例子吧,要展示一個清晰的圖像,我們使用能計算到小數(shù)點(diǎn)后23位的Geforce卡能滿足(你能看出兩張2K分辨率圖片中幾個像素點(diǎn)的不同嗎?)。但是對于科學(xué)家而言,小數(shù)點(diǎn)后23位可能會產(chǎn)生誤差,這種誤差可能導(dǎo)致藥物研發(fā)/航空探索等科學(xué)研究出現(xiàn)重大失誤。這時就需要雙精度(FP64=52位小數(shù))進(jìn)行更加精準(zhǔn)的計算。下圖為不同顯卡的雙精度浮點(diǎn)運(yùn)算能力:
小數(shù)點(diǎn)后的小數(shù)越多,誤差越小,讀數(shù)越精確,這是我們從小學(xué)就知道的基本數(shù)學(xué)常識。
FP16半精度計算能力強(qiáng)
如果說上面的雙精度做的是“數(shù)學(xué)題”,要求答案越精準(zhǔn)越好,那么半精度計算就是做“選擇題”,只要求答案“YES or NO”。半精度浮點(diǎn)計算通常應(yīng)用于深度學(xué)習(xí)/人工智能應(yīng)用中,NV官方曾經(jīng)對某CSDN博主提問“為何1070半精度運(yùn)算比單精度慢”做出回答:同樣是帕斯卡架構(gòu),只有P100完整核心的擁有完整的計算速度。下圖是不同架構(gòu)中半精度、單精度和雙精度吞吐量對比,6.0代表帕斯卡架構(gòu)完整核心,7.0代表最新的volta架構(gòu)完整核心。從圖中可以看出不同架構(gòu)中完整核心都是支持所有精度計算模式的。
可是這和價格貴有什么關(guān)系呢?
1.核心完整程度不同
上文提到的FP64和FP16,一個要求在SM單元中專門安置FP64單元進(jìn)行雙精度計算,效果僅有FP16的1/8不到,普通Geforce卡的GPU并沒有獨(dú)立FP64單元,被民間稱為“閹割版”,所以擁有完整計算能力的專業(yè)卡GPU價格昂貴;FP16則不需要獨(dú)立單元參與,這里不提。商品功能越多,附加值越高,這一點(diǎn)很好理解吧。
上圖是最近熱門的Nvidia Volta核心SM單元結(jié)構(gòu)圖,可以看到一個SM單元不僅保留了FP32/FP16混合計算,還支持IN8與FP64甚至單獨(dú)的Tensor,這樣一張Volta完整核心的Tesla計算卡可以勝任半精度(AI/深度學(xué)習(xí))、單精度(普通影音處理)和雙精度(生化物理研究模擬等)甚至120T的Tensor多重計算任務(wù)。
2.顆粒不同
另外,為了支持高精度計算不會在讀寫存儲時出現(xiàn)誤差,Tesla通常都采用了帶ECC糾錯能力的HBM2顯存,這種顯存產(chǎn)量低價格昂貴,這也構(gòu)成了Tesla計算卡價格昂貴的原因之一。選擇不具備ECC內(nèi)存糾錯功能的GPU卡進(jìn)行高精度計算會如何?2018年年初一些研究人員發(fā)現(xiàn)用Titan V卡進(jìn)行仿真計算時會輸出不準(zhǔn)確的答案,這就是因?yàn)镹vidia TITAN系列顯卡禁用了HBM顆粒的ECC功能導(dǎo)致數(shù)據(jù)出現(xiàn)誤差的,英偉達(dá)官方也建議:在進(jìn)行高精度科學(xué)計算時應(yīng)該采用專業(yè)的Tesla顯卡。
3.市場需求
2017年時國外媒體GamersNexus披露,HBM2 1GB顯存顆粒的單價在10美元左右,而同樣容量的GDDR5顆粒只需6.5美元,這一價格差距在2018年據(jù)稱已經(jīng)提高到一倍。存儲巨頭之一的SK海力士公司高層表示:客戶愿意為HNM2顆粒支付2.5倍的費(fèi)用,對GPU市場走紅趨勢的判斷也是Tesla計算卡價格高昂的原因之一。
你想知道使用不同的計算卡(Nvidia Tesla K系列、P系列和V系列)有哪些差別嗎?歡迎關(guān)注網(wǎng)爍,我會繼續(xù)給你帶來更多深度的服務(wù)器產(chǎn)品講解!