GTX680架構(gòu)解析 GPU版開普勒三大定律
盡管AMD的架構(gòu)在向NVIDIA靠攏,但雙方還是有明顯區(qū)別,而且NVIDIA也在不斷的改變。至于NVIDIA和AMD歷代產(chǎn)品架構(gòu)上的變化,之前多篇文章中都已經(jīng)交代過了,這里就不再重復(fù),我們通過這個簡單的數(shù)字變化,來了解一下:
先看看AMD方面,從R600一直到Cypress,可以說一直在堆SIMD,動輒翻倍,架構(gòu)沒有任何變化;從Cypress到Cayman變化也不大,只是把矢量單元從5D改為4D;從Cayman到Tahiti可以說是質(zhì)變,SIMD被GCN取代,4D矢量運(yùn)算單元改為1D標(biāo)量運(yùn)算單元。
而NVIDIA方面,則是不停的對GPU的GPC、SM、CUDA核心等配比進(jìn)行微調(diào),在微調(diào)的過程中經(jīng)歷了兩次突變:第一次是GT200到GF100,首次引出了GPC(圖形處理器集群)的概念,GPC數(shù)量減少但SM數(shù)以及流處理器數(shù)量增加不少;第二次就是現(xiàn)在了,從GF100到GK104,SM數(shù)量減少,但流處理器數(shù)量暴增!
改變是為了適應(yīng)形式的變化,解決此前出現(xiàn)的一些問題,那NVIDIA的架構(gòu)有什么問題呢?此前我們多次提到過,雖然NVIDIA的GPU在效能方面占盡優(yōu)勢,但也不是完美無缺的——NVIDIA最大的劣勢就是流處理器數(shù)量較少,導(dǎo)致理論浮點(diǎn)運(yùn)算能力較低。當(dāng)然這只是表面現(xiàn)象,其背后的本質(zhì)則是MIMD(多指令多數(shù)據(jù)流)的架構(gòu),相當(dāng)一部分比例的晶體管消耗在了指令發(fā)射端和控制邏輯單元上面,所以流處理器數(shù)量始終低于對手。
GF110和GK104芯片對比圖
為了保證GPU性能持續(xù)增長,NVIDIA必須耗費(fèi)更多的晶體管、制造出更大的GPU核心,而這些都需要先進(jìn)的、成熟的半導(dǎo)體制造工藝的支持。NVIDIA之所以在GF100(GTX480)時代落敗,并非架構(gòu)或者研發(fā)端出了什么問題(GF110/GTX580的成功可以證明),而是核心太大導(dǎo)致40nm工藝無法支撐,良率低下漏電流難以控制,最終導(dǎo)致核心不完整且功耗巨大。如此一來,NVIDIA原有的架構(gòu)嚴(yán)重受制于制造工藝,并非可持續(xù)發(fā)展之路。
為此,NVIDIA將芯片架構(gòu)逐步轉(zhuǎn)向了SIMT的模式,即Single Instruction Multiple Threads(單指令多線程),SIMT有別與AMD的SIMD,SIMT的好處就是無需開發(fā)者費(fèi)力把數(shù)據(jù)湊成合適的矢量長度,并且SIMT允許每個線程有不同的分支。 純粹使用SIMD不能并行的執(zhí)行有條件跳轉(zhuǎn)的函數(shù),很顯然條件跳轉(zhuǎn)會根據(jù)輸入數(shù)據(jù)不同在不同的線程中有不同表現(xiàn),這個只有利用SIMT才能做到。
SIMT在硬件部分的結(jié)構(gòu)還是要比SIMD復(fù)雜一些,NVIDIA還是更注重效率一些,所以NVIDIA的流處理器數(shù)量還是要比AMD少,但差距已經(jīng)沒以前那么夸張了。
關(guān)注我們
