GTX680架構解析 GPU版開普勒三大定律
盡管AMD的架構在向NVIDIA靠攏,但雙方還是有明顯區別,而且NVIDIA也在不斷的改變。至于NVIDIA和AMD歷代產品架構上的變化,之前多篇文章中都已經交代過了,這里就不再重復,我們通過這個簡單的數字變化,來了解一下:

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


