NVIDIA全系列GPU技術路線演進分析

薪科技快評 2024-04-16 09:34:34

NVIDIA GPU 架構梳理

近期深入研究並行計算,需探究底層硬件精髓。高性能計算界,英偉達顯卡穩居霸主地位。本文旨在梳理NVIDIA GPU架構之演進曆程,助您洞悉其技術脈絡,把握未來計算趨勢。

目錄:

NVIDIA GPU架構曆經數次革新:從Tesla架構奠定基石,到Fermi架構提升性能,再到Kepler架構優化能效,Maxwell架構深化節能設計。Pascal架構強化深度學習,Volta架構推動高性能計算,Turing架構引領光線追蹤,直至Ampere架構重塑遊戲與創作體驗。每一代都是技術革新的裏程碑。

一、NVIDIA GPU的架構演變曆史和基本概念[1]

截止2021年,發布時間離我們最近的8種NVIDIA GPU微架構是:

TeslaFermiKeplerMaxwellPascalVoltaTuringAmpere

NVIDIA以其獨特的命名方式,將GPU微架構與曆史上的傑出科學家相結合,其八大微架構分別致敬了特斯拉、費米、開普勒、麥克斯韋、帕斯卡、伏打、圖靈和安培等科學巨匠。

其中最新的是2020年宣布的Ampere架構。

二、Tesla 架構

經典型號是G80,在Fermi架構白皮書的開篇部分有對G80的簡要介紹:

G80 GPU創新支持C語言,程序員無需另學新語言,即可暢享GPU強大性能。作爲首款支持C語言的GPU,G80引領行業新潮流。G80作爲首款采用單一統一處理器的GPU,顛覆了傳統獨立的頂點和像素管道設計,強效執行頂點、幾何、像素及計算程序,開創圖形處理新紀元。G80 是第一款使用標量線程處理器的 GPU,無需程序員手動管理向量寄存器G80革命性引入單指令多線程(SIMT)執行模型,實現一條指令驅動多個獨立線程並發執行,效能飛躍,引領計算新紀元。G80革命性引入共享內存與屏障同步機制,爲線程間通信開辟新天地。這一創新設計,不僅提升了通信效率,更確保了數據同步的精准性,爲多線程應用帶來了前所未有的性能提升。

G80 顯卡

三、Fermi架構[2]

Fermi 架構是NVIDIA GPU 架構自初代 G80 以來最重大的飛躍。

NVIDIA GPU研發團隊汲取G80與GT200精華,創新設計,締造全球首款計算GPU。研發過程聚焦關鍵領域:性能提升、能效優化與技術創新,爲計算領域樹立新標杆,引領行業未來。

GPU在單精度浮點性能上已超越桌面CPU十倍,但針對部分計算密集型應用,雙精度性能的提升同樣至關重要,我們致力于不斷突破,滿足您的更高需求。ECC支持功能強大,助力GPU計算在數據中心安全部署。通過ECC,用戶可以放心安裝大量GPU,保障醫療成像、金融期權定價等敏感數據應用免受內存錯誤侵擾,確保數據完整性與系統穩定性。True Cache Hierarchy——對于無法使用GPU共享內存的並行算法,用戶渴望一個高效的緩存架構。True Cache Hierarchy應運而生,爲您解決這一難題,實現更順暢的運算體驗。CUDA程序員渴望更多共享內存,以加速應用。衆多開發者需求超16KB的SM共享內存,助力程序飛速運行,滿足高效計算新挑戰!實現更迅捷的上下文切換,用戶渴望在應用程序間流暢穿梭,享受極速的圖形與計算互操作體驗,讓工作娛樂更加高效暢快。用戶急需優化並行算法效率,期望實現更迅捷的讀-修改-寫原子操作,以滿足高速處理數據的迫切需求,從而大幅提升算法執行效率。

基于以上出發點,Fermi架構有以下四大亮點:

第三代流式多處理器 (SM)每個 SM 有 32 個 CUDA 內核,是 GT200 的 4 倍8 倍于 GT200 的峰值雙精度浮點性能Dual Warp Scheduler,實現雙warp指令的高效調度與分派,確保並行處理,提升整體運算效率,助力實現更快速、更穩定的數據處理。64 KB RAM,可配置共享內存和 L1 cache第二代並行線程執行 ISA具有完整 C++ 支持的統一地址空間針對 OpenCL 和 DirectCompute 進行了優化完整的 IEEE 754-2008 32 位和 64 位精度帶有 64 位擴展的完整 32 位整數路徑支持過渡到 64 位尋址的內存訪問指令通過預測提高性能改進的內存子系統NVIDIA Parallel DataCache TM 層次結構,擁有可配置的L1與Unified L2 Caches,以卓越性能提升數據處理效率,爲您帶來前所未有的計算體驗,讓每一份數據價值最大化。第一個支持 ECC 內存的 GPU大幅提升原子內存操作性能NVIDIA GigaThread TM 引擎應用程序上下文切換速度提高 10 倍並發內核執行亂序線程塊執行雙重疊內存傳輸引擎以上是Fermi 架構相較于初代架構提升的地方下面具體看看Fermi 架構的配置

Fermi 架構

首款基于Fermi架構的GPU震撼登場,采用30億晶體管精心打造,擁有強大512個CUDA內核,性能卓越,引領行業新風尚!

這512個CUDA內核巧妙布局,形成16個SM模塊,宛如垂直的矩形陣列,緊密環繞在共享的L2緩存周圍。每個SM模塊均內含32個CUDA內核,高效協作,共同構建出強大的計算力,助力各類複雜任務的快速處理。

一個CUDA 內核爲一個線程在每個時鍾周期裏執行一條浮點或整數指令。

6個64位顯存分區,構建出強大的384位顯存接口,賦予顯卡強勁性能。總支持容量高達6GB的GDDR5 DRAM顯存,確保流暢運行各類高負載任務。

GDDR5:第五版圖形用雙倍數據傳輸率存儲器

DRAM:動態隨機存取存儲器

主機接口憑借PCI-Express技術,高效連接GPU與CPU。Giga Thread全局調度器精准分配線程塊至SM線程調度器,確保處理任務迅速而有序。此系統結構專業,操作精准,助力計算性能大幅提升,爲用戶帶來前所未有的高效體驗。

Fermi圖形渲染架構

NVIDIA GPU自Fermi系列起,均內置GPC(圖形處理集群),這一強大單元宛如獨立GPU般的存在。每個GPC配備一光柵引擎與四個SM(流式多處理器),共同構築起強大的圖形處理體系。衆多GPC協同工作,確保了GPU的高效運行與卓越性能,爲用戶帶來無與倫比的圖形處理體驗。

Fermi Streaming Multiprocessor (SM)

上圖是將16個SM中的 1 個拿出來放大後的詳細結構圖,其中包含:

橙色部分:2 個 Warp Scheduler/Dispatch Unit綠色部分:32 個 CUDA 內核,分在兩條 lane 上,每條分別是 16 個淺藍色部分:register file-寄存器文件和 L1 cache16 個 Load/Store units (LD/ST Unit)4 個 Special Function Units (SFU)

每款SM均搭載32個CUDA內核,即圖中綠色的Core小方塊。每個內核均配備全流水線化的整數算術邏輯單元(ALU)和浮點單元(FPU),確保高性能計算。SM的卓越設計,讓計算效能得到顯著提升,爲您帶來前所未有的體驗。

CUDA 內核

SM,作爲GPU架構的核心組件,是實現硬件並行性的關鍵所在。其重要性不言而喻,正是SM的卓越性能,賦予了GPU強大的並行處理能力。

四、Kepler架構

Kepler架構以精簡SM單元數(現稱SMX單元)並大幅擴充每組SM單元中的CUDA內核數爲核心理念。相較于Fermi架構,Kepler架構實現了跨越式提升,每個SM單元的CUDA內核數激增五倍,從32個躍升至192個,展現了其強大的計算能力。

在每個SMX中:

4 個 Warp Scheduler,8 個 Dispatch Unit綠色:192個 CUDA 內核,分在12條 lane 上,每條分別是 16 個黃色:搭載64個DP雙精度運算單元,高效分布于4條lane,每條lane精准配置16個單元,運算性能卓越。32 個 LD/ST Unit32 個 SFU五、Maxwell架構

Maxwell架構的SM單元與Kepler架構相比,經曆了顯著變革。此代SM單元獨特之處在于,它巧妙地模仿了4個Fermi架構SM單元的2x2排列方式,這一創新設計被稱爲SMM單元,展現了架構的先進性與高效性。

SMM采用創新的象限設計,擁有四個32核處理塊,每塊配備專用warp調度程序,實現高效並行處理。該設計能在每個時鍾周期內迅速分派兩條指令,大幅提升計算效率,滿足高性能計算需求。

每個 SMM 單元提供

八個紋理單元(texture units)一個多態引擎(polymorph engine-圖形的幾何處理)專用寄存器文件和共享內存。

每個處理塊中:

1個 Warp Scheduler,2 個 Dispatch Unit綠色:32個 CUDA 內核8個 LD/ST Unit8個 SFU

CUDA內核總數自Kpler時代起,每組SM單元由192個精簡至128個,盡管數量減少,但每組SMM單元邏輯控制電路更爲豐富,實現了更精細的控制,展現了技術的優化與進步。

Maxwell:NVIDIA開發者博客盛贊的頂級CUDA GPU!其卓越性能超越以往,堪稱史上最強。引領技術革新,成就無限可能,讓你輕松駕馭最複雜計算任務,盡顯科技魅力!

六、Pascal架構

pascal架構的GP100核心

這裏有一個新概念:核心

NVIDIA架構各異,Pascal架構獨領風騷,其核心陣容強大,包括GP100與GP102兩大核心,展現卓越性能。

GP100:3840個CUDA核心,60組SM單元;GP102:3584個CUDA核心,28組SM單元;

第2組數據存疑

核心爲完整GPU模組,圖示pascal架構GP100核心,內含60個SM單元,高效強大,盡顯技術之精髓,爲您帶來卓越性能體驗。

各類顯卡産品靈活采用不同GP100配置,既可選擇滿配,亦可進行減配。例如,Tesla P100顯卡便巧妙運用56個SM單元,實現高效能輸出,展現卓越性能。

GP100核心的SM單元

每個SM單元精巧劃分爲兩個Process Block,每個Block內藏高效處理機制,實現雙重效能,助力計算速度飙升,性能卓越非凡。

1個 Warp Scheduler,2 個 Dispatch Unit綠色:32個 CUDA 內核黃色:搭載16個DP雙精度運算單元,均勻分布于2條lane中,每條lane均配備8個單元,高效能計算盡在掌控。8個 LD/ST Unit8個 SFU

CUDA內核總數自Maxwell時代起,每組SM單元從128個精簡至64個,顯著提升了效率。這一代最亮眼之處在于重新引入了DP雙精度運算單元,實現了性能與精度的雙重提升。

制程工藝升級到了16nm,性能大幅提升,功耗卻不增加。

七、Volta架構

Volta架構的GV100核心

GV100核心的SM單元

每個SM單元精細劃分爲四個Process Block,每個Block獨立運作,高效協同,確保數據處理速度與精度的雙重提升。

1個 Warp Scheduler,1個 Dispatch Unit8 個 FP64 Core16 個 INT32 Core16 個 FP32 Core2 個 Tensor Core8個 LD/ST Unit4個 SFU

在前幾代架構中:

一個CUDA 內核在每個時鍾周期裏只能爲一個線程執行一條浮點或整數指令。

自Volta架構起,CUDA內核巧妙地被拆分爲FP32與INT32兩部分,此舉之妙在于每一時鍾周期內,浮點與整數指令得以並行執行,從而顯著提升計算效率,爲高性能計算領域帶來革命性的進步。

Volta架構不僅擅長傳統的單雙精度計算,更獨特的是新增了專用的Tensor Core張量單元,專爲深度學習、AI運算等高效能需求而設計,性能卓越。

八、Turing架構

Turing架構的TU102核心

Turing架構目前一共有三種核心:

TU102核心TU104核心TU106核心

TU102核心的SM單元

每個SM單元有4個處理塊,每個處理塊中:

1 個 Warp Scheduler,1 個 Dispath Unit16 個 INT32 Core16 個 FP32 Core2 個 Tensor Core4 個 LD/ST Unit4 個 SFU

這一代架構去掉了對FP64的支持。

九、Ampere架構

Ampere架構的GA102核心

GA102核心的SM單元

每個SM單元分成4個處理塊,每個處理塊中:

1 個 Warp Scheduler,1 個 Dispatch Unit8 個 FP64 Core16 個 FP32 Core16 個 INT32 Core1 個 Tensor Core8 個 LD/ST Unit4 個 SFU

本代架構創新回歸FP64 Core,更承襲Volta架構之精髓,推出NVIDIA第三代Tensor技術。我們秉持每代架構更新一次Tensor的承諾,不斷推動技術革新,爲您帶來前所未有的計算體驗。

-對此,您有什麽看法見解?-

-歡迎在評論區留言探討和分享。-

0 阅读:53

薪科技快評

簡介:薪科技評說,發現技術的點滴,記錄科學的飛躍!