來源:內(nèi)容來自機器之心,謝謝。
當?shù)貢r間 5 月 8-11 日,英偉達在加州圣何塞舉行了 2017 年的 GPU 技術(shù)大會(GTC 2017)。英偉達 CEO 黃仁勛在大會上正式發(fā)布了目前最先進的加速器 NVIDIA Tesla V100。之后,英偉達開發(fā)博客又更新了一篇深度解讀文章,剖析了 Tesla V100 背后的新一代架構(gòu) Volta,其在提供了更好的高性能計算支持之外,還增加了專門為深度學習所設(shè)計的 Tensor Core。
在 2017 GPU 技術(shù)大會(GTC 2017)上,英偉達 CEO 黃仁勛正式發(fā)布了新一代處理器架構(gòu) Volta,以及使用新架構(gòu)的第一款設(shè)備——適用于深度學習任務(wù)的加速卡 Tesla V100,英偉達將這塊顯卡稱為全球最先進的數(shù)據(jù)中心 GPU。
從語音識別到訓練虛擬助理進行自然交流,從探測車道線到讓汽車完全自動駕駛,數(shù)據(jù)科學家們在技術(shù)的發(fā)展過程中正一步步攀登人工智能的新高度。而解決這些日益復雜的問題則需要日益復雜的深度學習模型,為深度學習提供強大的計算硬件是英偉達努力的目標。
圖 1. Tesla V100 加速卡內(nèi)含 Volta GV100 GPU,以及 SXM2 Form Factor。
高性能計算設(shè)備(HPC)是現(xiàn)代科學的基礎(chǔ),從預測天氣、發(fā)明新藥到尋找新能源,大型計算系統(tǒng)能為我們模擬和預測世界的變化。這也是英偉達在新一代 GPU 架構(gòu)推出時選擇優(yōu)先發(fā)布企業(yè)級計算卡的原因。黃仁勛在發(fā)布會上表示,全新的 Tesla V100 專為 HPC 和 AI 的融合而設(shè)計,同時采用了具有突破性的新技術(shù)。英偉達的新架構(gòu)能否讓 GPU 再上一個臺階?讓我們隨著 Tesla V100 一探究竟。
揭秘新架構(gòu)與 GPU 特性
Volta 并不是 Pascal 的升級,而是一個全新的架構(gòu)!——NVIDIA 應(yīng)用深度學習研究副總裁 Bryan Catanzaro。
在 Nvdia GTC 2017 第三天下午,Nvidia CUDA 軟件首席工程師 Luke Durant 與 Nvidia 首席構(gòu)架師 Oliver Giroux 進行了一個名為 Inside Volta 的技術(shù)講座,解讀了 Volta 構(gòu)架的設(shè)計。
英偉達認為,硬件的可編程性正在驅(qū)動深度學習的發(fā)展。談到 Volta 對人工智能帶來的影響時,英偉達副總裁 Bryan Catanzaro 表示,「Volta 提供大量的 FLOP,基于 Volta,人們就可以使用需要更多 FLOP 的模型。如今很多流行的模型都需要很大的計算資源,例如卷積,我個人認為架構(gòu)上將會有一定的轉(zhuǎn)向,既更多地來利用更多地利用我們已有的大量的 FLOP。當然,構(gòu)架的進化也會經(jīng)過一個『達爾文』過程,最終最適應(yīng)的會成為終極形態(tài)」
在本次 GTC 中,我們沒有看到聯(lián)網(wǎng)移動端芯片的身影或為移動端人工智能計算性能提升進行的構(gòu)架設(shè)計,關(guān)于這個問題,Volta 設(shè)計團隊表示,對于可以聯(lián)網(wǎng)的設(shè)備,通過 CPU 結(jié)合 GPU 的混合云進行大量計算是必然趨勢;而對于無法聯(lián)網(wǎng)的應(yīng)用場景,SOC 是更好的選擇。
Tesla V100:人工智能計算和 HPC 的助推器
毫無疑問,全新的英偉達 Tesla V100 加速器是世界上性能最高的并行處理器,旨在為計算量最大的 HPC 設(shè)備、人工智能和圖形工作任務(wù)提供支持。它的核心 GV100 GPU 包含 211 億個晶體管,而芯片面積為前所未有的 815 平方毫米(Tesla GP100 為 610 平方毫米)。它采用了臺積電(TSMC)的 12nm FFN 專屬工藝打造。與其前身 GP100 GPU 及其他 Pascal 架構(gòu)的顯卡相比,GV100 提供了更強的計算性能,并增加了許多新功能。它進一步減小了 GPU 編程和應(yīng)用程序移植難度,也通過制程的升級提高了 GPU 資源利用率。另外,GV 100 也是一款能效極高的處理器,其在單位功耗的性能上表現(xiàn)卓越。圖 2 給出了 ResNet-50 深度神經(jīng)網(wǎng)絡(luò)在 Tesla V100 上進行訓練的性能表現(xiàn)。
對于 12nm 制程的選擇(AMD 準備在 2018 年推出使用 7nm 制程的顯卡),英偉達的首席工程師表示他們已在功耗和性能之間做出了最佳選擇。
圖 2. Tesla V100 在 ResNet-50 深度神經(jīng)網(wǎng)絡(luò)訓練任務(wù)中的速度比 Tesla P100 快 2.4 倍。如果每張圖像的目標延遲是 7ms,那么 Tesla V100 使用 ResNet-50 深度神經(jīng)網(wǎng)絡(luò)進行推理的速度比 P100 快 3.7 倍(參與測試的 V100 為原型卡)。
Tesla V100 的主要計算特征包括:
為深度學習優(yōu)化過的新型流式多處理器(SM)架構(gòu)。Volta 對 GPU 核心的 SM 處理器架構(gòu)進行了重要的重新設(shè)計。新的 Volta SM 架構(gòu)比前代 Pascal 設(shè)計能效高 50%,在同樣的功率范圍下 FP32 和 FP64 性能有重大提升。新的 Tensor Core 是專門為深度學習設(shè)計的,為浮點運算速度帶來了 12 倍的提升。有了獨立的、并行的整型和浮點型數(shù)據(jù)通路,Volta SM 在負載上也更高效,混合了計算與地址運算。Volta 新的獨立線程調(diào)度能力使得并行線程之間的細粒度同步協(xié)同(finer-grain synchronization and cooperation)成為可能。最終,新型的 L1 Data Cache 與 Shared Memory 子系統(tǒng)的結(jié)合也能極大地提升性能,同時還簡化了編程。
第二代 NVLink。第二代英偉達 NVLink 高速互連技術(shù)能提供更高的帶寬、更多連接,同時還改進了多 GPU 和多 GPU/CPU 系統(tǒng)配置的延展性。
HBM2 顯存:更快、更高效。Volta 高度調(diào)整的 16GB HBM2 顯存子系統(tǒng)提供了 900 GB/s 的峰值顯存帶寬。來自三星的新一代 HBM2 顯存和 Volta 中的新一代顯存控制器的組合實現(xiàn)的顯存帶寬是 Pascal GP100 的 1.5 倍,而且在許多負載上的顯存帶寬效率更高。
Volta 多處理服務(wù)。Volta 多服務(wù)處理(MPS:Multi-Process Service)是 Volta GV100 的一項新特性,能夠為 CUDA MPS 服務(wù)器的關(guān)鍵組件提供硬件加速,從而能為共享該 GPU 的多個計算應(yīng)用提供更高的性能、隔離和更好的服務(wù)質(zhì)量(QoS)。Volta MPS 還將 MPS 客戶端的最大數(shù)量從 Pascal 的 16 提升到了 Volta 的 48。
增強統(tǒng)一存儲和地址轉(zhuǎn)換服務(wù)。Volta GV100 中的 GV100 統(tǒng)一存儲(GV100 Unified Memory)技術(shù)包括新型訪問計數(shù)器,讓訪問網(wǎng)頁最頻繁的處理器能更準確的遷移存儲頁。
協(xié)作組(Cooperative Groups)和新的 Cooperative Launch API。協(xié)作組是 CUDA 9 中新的編程模型,用來組織通信線程組。Volta 增加了對新型同步模式的支持。
最大性能和最大效率模式。在最大性能模式下,Tesla V100 加速器將不受限制的把 TDP(熱設(shè)計功耗)水平提高到 300W,從而加速需要最快計算速度和最高數(shù)據(jù)吞吐的應(yīng)用。最大效率模式下,數(shù)據(jù)中心管理員可以調(diào)整 Tesla V100 加速器的功率使用,從而用單位功耗下最優(yōu)的性能進行運算。
為 Volta 優(yōu)化過的軟件。Caffe2、MXNet、CNTK、TensorFlow 等這樣的深度學習框架的新版本,能夠利用 Volta 的性能來獲得更快的訓練速度、更高的多節(jié)點訓練性能。GPU 加速庫(比如 cuDNN、cuBLAS 等)的 Volta 優(yōu)化版本利用 Volta GV100 架構(gòu)的新特性能為深度學習和高性能計算應(yīng)用提供更高的性能。
GV100 GPU 硬件架構(gòu)
裝備有 Volta GV100 GPU 的英偉達 Tesla V100 加速器是目前世界上速度最快的并行計算處理器。GV100 的硬件創(chuàng)新十分顯著,除了為 HPC 系統(tǒng)和應(yīng)用提供遠比現(xiàn)在更強的計算能力(如圖 3 所示)之外,它還可以大大加快深度學習算法和框架的運行速度。
圖 3:在各種 HPC 任務(wù)中,Tesla V100 平均比 Tesla P100 快 1.5 倍。(該性能基于 Tesla V100 原型卡)
Tesla V100 可以提供業(yè)界領(lǐng)先的浮點和整型計算性能。峰值計算速度(基于 GPU Boost 時鐘頻率):
雙精度浮點(FP64)運算性能:7.5 TFLOP/s;
單精度(FP32)運算性能:15 TFLOP/s;
混合精度矩陣乘法和累加:120 Tensor TFLOP/s。
與前一代 Pascal GP100 GPU 類似,GV100 GPU 由多個圖形處理集群(Graphics Processing Cluster,GPC)、紋理處理集群(Texture Processing Cluster,TPC)、流式多處理器(Streaming Multiprocessor,SM)以及內(nèi)存控制器組成。一個完整的 GV100 GPU 由 6 個 GPC、84 個 Volta SM、42 個 TPC(每個 TPC 包含了 2 個 SM)和 8 個 512 位的內(nèi)存控制器(共 4096 位)。每個 SM 有 64 個 FP32 核、64 個 INT32 核、32 個 FP64 核與 8 個全新的 Tensor Core。同時,每個 SM 也包含了 4 個紋理處理單元。
圖 4:帶有 84 個 SM 單元的完整 Volta GV100。
加上 84 個 SM,一個完整的 GV100 GPU 總共有 5376 個 FP32 核、5376 個 INT32 核、2688 個 FP64 核、672 個 Tensor Core 與 336 個紋理單元。每塊內(nèi)存控制器都連接了一個 768 KB 的 2 級緩存,每個 HBM2 DRAM 堆棧都由一對內(nèi)存控制器控制。一個完整的 GV100 GPU 包括了總共 6144 KB 的二級緩存。圖 4 展示了一個帶有 84 個 SM 單元的完整 GV100 GPU(不同產(chǎn)品可以使用不同的 GV100 配置)。Tesla V100 加速器使用了 80 個 SM 單元。
表 1. Tesla V100 與過去五年歷代 Tesla 加速器的參數(shù)對比
Volta SM(流式多處理器)
為提供更高的性能而設(shè)計的架構(gòu),Volta SM 比過去的 SM 設(shè)計有更低的指令與緩存延遲,也包括加速深度學習應(yīng)用的新特性。
主要特性包括:
為深度學習矩陣計算建立的新型混合精度 FP16/FP32 Tensor Core。
為更高的性能、更低的延遲而增強的 L1 數(shù)據(jù)緩存。
為更簡單的解碼而改進的指令集,并減少了指令延遲。
更高的速度和能效。
圖 5: Volta GV100 SM
Tensor Core:深度學習專用核心
新的 Tensor Core 是 Volta GV100 最重要的特征,有助于提高訓練神經(jīng)網(wǎng)絡(luò)所需的性能。Tesla V100 的 Tensor Core 能夠為訓練、推理應(yīng)用的提供 120 Tensor TFLOPS。相比于在 P100 FP 32 上,在 Tesla V100 上進行深度學習訓練有 12 倍的峰值 TFLOPS 提升。而在深度學習推理能力上,相比于 P100 FP16 運算,有了 6 倍的提升。Tesla V100 GPU 包含 640 個 Tensor Core:每個流式多處理器(SM)包含 8 個。
Tensor Core 非常省電,電力消耗大有可能將不再是深度學習的一大瓶頸。Bryan Catanzaro 表示:「通過底層數(shù)學計算的優(yōu)化,Tensor Core 相較之前的構(gòu)架要省電很多。深度學習的一個重要的限制是 energy efficiency,Tensor Core 在解決這個問題的方面相當突出?!?/p>
矩陣-矩陣乘法運算(BLAS GEMM)是神經(jīng)網(wǎng)絡(luò)訓練和推理的核心,被用來獲得輸入數(shù)據(jù)和權(quán)重的大型矩陣的乘積。如下圖 6 所示,相比于基于 Pascal 的 GP100,Tesla V100 中的 Tensor Core 把這些運算的性能提升了至少 9 倍。
圖 6:Tesla V100 Tensor Core 和 CUDA 9 對 GEMM 運算有了 9 倍的性能提升。(在 Tesla V100 樣機上使用預發(fā)布的 CUDA 9 軟件進行的測試)
Tensor Core 和與它們關(guān)聯(lián)的數(shù)據(jù)通道進行了精心的定制,從而極大地提升了極小區(qū)域和能量成本下浮點計算的吞吐量。它也廣泛地使用了時鐘門控來盡可能節(jié)能。
每個 Tensor Core 包含一個 4x4x4 的矩陣處理陣列來完成 D=A x B + C 的運算,其中 A、B、C、D 是 4×4 的矩陣,如下圖 7 中所示。矩陣相乘的輸入 A 和 B 是 FP16 矩陣,相加矩陣 C 和 D 可能是 FP16 矩陣或 FP32 矩陣。
圖 7:Tensor Core 的 4x4x4 矩陣乘法與累加。
每個 Tensor Core 每個時鐘可執(zhí)行 64 次浮點 FMA 混合精度運算(FP16 乘法與 FP32 累加),一個 SM 單元中的 8 個 Tensor Core 每個時鐘可執(zhí)行共計 1024 次浮點運算。相比于使用標準 FP32 計算的 Pascal GP100 而言,單個 SM 下的每個深度學習應(yīng)用的吞吐量提升了 8 倍,所以這最終使得 Volta V100 GPU 相比于 Pascal P100 GPU 的吞吐量一共提升了 12 倍。Tensor Core 在與 FP32 累加結(jié)合后的 FP16 輸入數(shù)據(jù)之上操作。FP16 的乘法得到了一個全精度結(jié)果,該結(jié)果在 FP32 和其他給定的 4x4x4 矩陣乘法點積的乘積運算之中進行累加。如圖 8 所示。
圖 8. Volta GV100 Tensor Core 流程圖
在程序執(zhí)行期間,多個 Tensor Core 通過一組 warp 線程的執(zhí)行而同時使用。warp 內(nèi)的線程提供了 Tensor Core 來處理大型 16×16×16 矩陣運算。CUDA 將這些操作作為 Warp-Level 矩陣運算在 CUDA C++ API 中公開。這些 C++接口提供了專門化的矩陣負載,如矩陣乘法和累加,矩陣存儲操作可以有效地利用 CUDA C++程序中的 Tensor Core。
除 CUDA C++接口可直接編程 Tensor Core 外,CUDA 9 cuBLAS 和 cuDNN 庫還包含了使用 Tensor Core 開發(fā)深度學習應(yīng)用和框架的新庫接口。英偉達已經(jīng)和許多流行的深度學習框架(如 Caffe2 和 MXNet)合作以使用 Tensor Core 在 Volta 架構(gòu)的 GPU 系統(tǒng)上進行深度學習研究。英偉達將繼續(xù)與其他框架開發(fā)人員合作以便在整個深度學習生態(tài)系統(tǒng)更廣泛地使用 Tensor Core。
增強的 L1 數(shù)據(jù)緩存和共享顯存
Volta SM 的 L1 數(shù)據(jù)緩存和共享顯存子系統(tǒng)的組合能顯著提高性能,同時也簡化了編程并減少了達到或接近峰值應(yīng)用性能所需的時間成本。
在共享顯存塊中進行集成可確保 Volta GV100 L1 緩存具有比過去英偉達 GPU 中的 L1 高速緩存更低的延遲和更高的帶寬。L1 Volta 作為流式數(shù)據(jù)的高吞吐量導管(conduit),同時為經(jīng)常復用的數(shù)據(jù)提供高帶寬和低延遲訪問,這兩個性能都是目前最好的。英偉達表示,這一特性是 Volta 獨有的,其提供比以往更強大的性能。
圖 9. 在 Volta 上,這些代碼在沒有使用共享顯存的情況下只有 7%的性能損失,而 Pascal 的性能下降了 30%。雖然共享顯存仍然是最佳選擇,但新 Volta L1 設(shè)計使程序員能夠以更少的編程工作而快速獲得足夠出色的性能。
表 2. 全新 GV100 與此前各代架構(gòu) GPU 的形式比較,GV100 GPU 支持全新的 Compute Capability 7.0。
獨立的線程調(diào)配
Volta 架構(gòu)旨在設(shè)計為比以前的 GPU 更容易編程,令用戶能在更復雜和多樣的應(yīng)用程序上高效地工作。Volta GV100 是第一款支持獨立線程調(diào)配的 GPU,其在并行線程指令中可以實現(xiàn)細粒度(finer-grain)的同步和協(xié)作。Volta 主要的設(shè)計目標是減少在 GPU 中運行指令所需的工作量,并在線程合作中實現(xiàn)更大的靈活度,這樣從而為細粒度并行算法提供更高的效率。
英偉達同時也展示了他們?nèi)绾螌?SIMT(單指令多線程)做出重大改進以推進 Volta 架構(gòu)。32 線程內(nèi)單個獨立的 CUDA 核現(xiàn)在只有有限的自主性;線程現(xiàn)在可以在一個細粒度層面上進行同步,并且仍然處于 SIMT 范式下,所以這就意味著更高的整體效率。更重要的是,獨立的線程現(xiàn)在可以放棄再重新安排在一起。這就意味著英偉達的 GPU 有一定數(shù)量的調(diào)度硬件(scheduling hardware)。
圖 10:Pascal 和早期的英偉達 GPU 在 SIMT warp 執(zhí)行模式下的線程調(diào)配。大寫字母代表指令偽代碼中的語句。在一個 warp 中不同的分支是序列化的,這樣在分支一邊的所有語句一起執(zhí)行以在另一邊語句執(zhí)行前完成。在 else 語句后,warp 中的線程通常會重新映射。
圖 11:Volta(下方)獨立線程調(diào)配架構(gòu)圖與 Pascal 和早期的架構(gòu)(上方)相比較。Volta 會維持每個線程調(diào)配的資源,就像程序計數(shù)器(PC)和調(diào)用堆棧(S)那樣,而早期的架構(gòu)以每個 warp 為單位維持。
圖 12:Volta 獨立線程調(diào)配令其可以交叉執(zhí)行發(fā)散分支(divergent branches)的語句。這就允許執(zhí)行細粒度并行算法,而 warp 內(nèi)的線程也就能同步和通信。
圖 13:程序可以使用顯式同步來重新令 warp 中的線程收斂
圖 14:具有細粒度鎖(fine-grained locks)的雙向鏈表。在插入結(jié)點 B 到鏈表(右)前,需要獲取每一個結(jié)點鎖(左)
總結(jié)
根據(jù)目前公布的數(shù)字,Tesla V100 可以提供 15 TFLOPS 的 FP32、30 TFLOPS FP16、7.5 TFLOPS FP64 和高達 120 TFLOPS 的專用 Tensor 運算性能。由于 1455 MHz 的峰值運算速度,它相比前一代的 CUDA 理論 FLOPS 數(shù)據(jù)增長了 42%。Tesla V100 配備了 16G 的 HBM2 顯存,它的內(nèi)存時鐘速度從 1.4 Gbps 提升至 1.75 Gbps,提升了 25%。
在 GTC 大會上,黃仁勛表示英偉達在研發(fā) Tesla GV100 的過程中投入了 30 億美元的巨資,這是迄今為止英偉達投資最大的單個項目。第一塊量產(chǎn)型加速卡預計將在今年第三季度通過新一代超算模塊 DGX-1V 的形式進入市場,售價不菲(DGX-1V 售價 149,000 美元,內(nèi)含 8 塊 Tesla V100,換算下來每塊 V100 約為 18,000 美元)。但因為其強大的計算能力,屆時必將出現(xiàn)不少買家。
今天是《半導體行業(yè)觀察》為您分享的第1276期內(nèi)容,歡迎關(guān)注。
R
eading
推薦閱讀(點擊文章標題,直接閱讀)
★引線鍵合技術(shù)會被淘汰?你想多了!
★殺死NAND Flash,替代DRAM;3D Xpoint有這個能力嗎?
★AI芯片|淺析Yann LeCun提到的兩款Dataflow Chip
半導體行業(yè)觀察,后臺回復關(guān)鍵詞獲取更多內(nèi)容
回復 A股,看《A股知名芯片公司盤點,你更看好哪家?》
回復 CPU,看《CPU制造全過程,一堆沙子的藝術(shù)之旅》
回復 掙錢,看《最會掙蘋果錢的中國半導體公司》
回復IGBT,看《中國IGBT真的逆襲了嗎?》
回復 禁運,看《對中國禁運的那些先進設(shè)備和技術(shù)》
回復 打破壟斷,看《中國半導體在三個領(lǐng)域打破了國外壟斷 》
回復 產(chǎn)業(yè)鏈,看《半導體產(chǎn)業(yè)鏈最全梳理,建議收藏》
回復 淚流滿面,看《二十個讓IC工程師淚流滿面的瞬間》
【關(guān)于轉(zhuǎn)載】:轉(zhuǎn)載僅限全文轉(zhuǎn)載并完整保留文章標題及內(nèi)容,不得刪改、添加內(nèi)容繞開原創(chuàng)保護,且文章開頭必須注明:轉(zhuǎn)自“半導體行業(yè)觀察icbank”微信公眾號。謝謝合作!
【關(guān)于征稿】:歡迎半導體精英投稿(包括翻譯、整理),一經(jīng)錄用將署名刊登,紅包重謝!簽約成為專欄專家更有千元稿費!來稿郵件請在標題標明“投稿”,并在稿件中注明姓名、電話、單位和職務(wù)。歡迎添加我的個人微信號 MooreRen001或發(fā)郵件到 jyzhang@moore.ren
轉(zhuǎn)載請注明來自夕逆IT,本文標題:《GTX295不是簡單的核心累加_顯卡_顯卡評測》

還沒有評論,來說兩句吧...