NVIDIA VOLTA

NVIDIA VOLTA
是全新的 GPU 架構,專們為所有產業帶來人工智慧而量身打造。在2017的GTC大會中發布。

它是NVIDIA設計的,針對人工智慧的核心
人工智慧不限於任何一個產業,在超級運算、醫療照護、金融服務、巨量資料分析和遊戲等領域,都會使用該技術。人工智慧是所有產業和市場的未來,因為每家企業都需要情報,而人工智慧的運算引擎正是 NVIDIA GPU。
NVIDIA Volta 是驅動人工智慧技術的全新動力。Volta 將為各產業推動突破性的發展。人們的野心計畫,例如根除癌症,以及自駕車掀起交通運輸上的變革,都是新一代人工智慧能夠達成的範圍。

人工智慧的核心  下載資訊圖表

它是劃時代的創新在2017年
它有640 個 TENSOR 核心

大幅提升效能
各產業都需要人工智慧,且在效能速度大幅進步的條件下,人工智慧現在可以應用在各產業中。Volta 配備 640 個 Tensor 核心,每秒可提供超過 100 兆次浮點運算 (TFLOPS) 的深度學習效能,比前一代的 Pascal 架構快 5 倍以上。

全新的 GPU 架構
專為現代電腦設計打造
為克服人類所面臨的艱鉅挑戰,我們在運算和資料科學上,將需要使用功能最強大的運算引擎。Volta 配備超過 210 億個電晶體,是目前世界上功能最強大的 GPU 架構,此外還搭配使用 NVIDIA CUDA 和 Tensor 核心,以在 GPU 中提供人工智慧超級電腦的效能。

次世代的NVLINK
可擴充的高速解決方案
Volta 運用第 2 代革命性的 NVIDIA NVLink™ 高速互連技術。與前一代的 NVLink 相比,NVLink2 可提供 2 倍以上的輸送量,如此可支援更進階的建模和資料平行方式,以進行強大的擴充調整,達成最高的應用程式效能。

VOLTA 最佳化軟體
GPU 加速的架構和應用程式
資料科學家常被迫要在模型精準度和較持久的執行時間之間做選擇。透過針對 Volta 最佳化的 CUDA 和 NVIDIA 深度學習 SDK ,例如 cuDNN 和 TensorRT 軟體,業界最重要的架構和應用程式可以輕鬆運用 Volta 的強大功能。讓資料科學家和研究人員可以比以往更快有所發現。

加速人工智慧、HPC 和圖形的運算速度。
NVIDIA® Tesla® V100: 歷來最先進的人工智慧 GPU。


英偉達Volta架構解讀:專為深度學習而生的Tensor Core到底是什麼

2017-05-11 18:02
在2017 GPU 技術大會(GTC 2017)上,英偉達CEO 黃仁勳正式發布了新一代處理器架構Volta,以及使用新架構的第一款設備——適用於深度學習任務的加速卡Tesla V100,英偉達將這塊顯卡稱為全球最先進的數據中心GPU。

從語音識別到訓練虛擬助理進行自然交流,從探測車道線到讓汽車完全自動駕駛,數據科學家們在技術的發展過程中正一步步攀登人工智能的新高度。而解決這些日益複雜的問題則需要日益複雜的深度學習模型,為深度學習提供強大的計算硬件是英偉達努力的目標。
圖1. Tesla V100 加速卡內含Volta GV100 GPU,以及SXM2 Form Factor。

高性能計算設備(HPC)是現代科學的基礎,從預測天氣、發明新藥到尋找新能源,大型計算系統能為我們模擬和預測世界的變化。這也是英偉達在新一代GPU 架構推出時選擇優先發布企業級計算卡的原因。黃仁勳在發布會上表示,全新的Tesla V100 專為HPC 和AI 的融合而設計,同時採用了具有突破性的新技術。英偉達的新架構能否讓GPU 再上一個台階?讓我們隨著Tesla V100 一探究竟。

揭秘新架構與GPU 特性
Volta 並不是Pascal 的升級,而是一個全新的架構!——NVIDIA 應用深度學習研究副總裁Bryan Catanzaro。

在Nvdia GTC 2017 第三天下午,Nvidia CUDA 軟件首席工程師Luke Durant 與Nvidia 首席構架師Oliver Giroux 進行了一個名為Inside Volta 的技術講座,解讀了Volta 構架的設計。此後我們作為不到五家受邀參與Volta 深度採訪的亞洲媒體之一,成為了第一批深入了解Volta 與Tesla V100 的機構。


英偉達認為,硬件的可編程性正在驅動深度學習的發展。談到Volta 對人工智能帶來的影響時,英偉達副總裁Bryan Catanzaro 表示,「Volta 提供大量的FLOP,基於Volta,人們就可以使用需要更多FLOP 的模型。如今很多流行的模型都需要很大的計算資源,例如卷積,我個人認為架構上將會有一定的轉向,既更多地來利用更多地利用我們已有的大量的FLOP。當然,構架的進化也會經過一個『達爾文』過程,最終最適應的會成為終極形態」

在本次GTC 中,我們沒有看到聯網移動端芯片的身影或為移動端人工智能計算性能提升進行的構架設計,關於這個問題,Volta 設計團隊表示,對於可以聯網的設備,通過CPU 結合GPU 的混合雲進行大量計算是必然趨勢;而對於無法聯網的應用場景,SOC 是更好的選擇。

Tesla V100:人工智能計算和HPC 的助推器
毫無疑問,全新的英偉達Tesla V100 加速器是世界上性能最高的並行處理器,旨在為計算量最大的HPC 設備、人工智能和圖形工作任務提供支持。它的核心GV100 GPU 包含211 億個晶體管,而芯片面積為前所未有的815 平方毫米(Tesla GP100 為610 平方毫米)。它採用了台積電(TSMC)的12nm FFN 專屬工藝打造。與其前身GP100 GPU 及其他Pascal 架構的顯卡相比,GV100 提供了更強的計算性能,並增加了許多新功能。它進一步減小了GPU 編程和應用程序移植難度,也通過製程的升級提高了GPU 資源利用率。另外,GV 100 也是一款能效極高的處理器,其在單位功耗的性能上表現卓越。圖2 給出了ResNet-50 深度神經網絡在Tesla V100 上進行訓練的性能表現。

對於12nm 製程的選擇(AMD 準備在2018 年推出使用7nm 製程的顯卡),英偉達的首席工程師表示他們已在功耗和性能之間做出了最佳選擇。

圖2. Tesla V100 在ResNet-50 深度神經網絡訓練任務中的速度比Tesla P100 快2.4 倍。如果每張圖像的目標延遲是7ms,那麼Tesla V100 使用ResNet-50 深度神經網絡進行推理的速度比P100 快3.7 倍(參與測試的V100 為原型卡)。

Tesla V100 的主要計算特徵包括:
為深度學習優化過的新型流式多處理器(SM)架構。Volta 對GPU 核心的SM 處理器架構進行了重要的重新設計。新的Volta SM 架構比前代Pascal 設計能效高50%,在同樣的功率範圍下FP32 和FP64 性能有重大提升。新的Tensor Core 是專門為深度學習設計的,為浮點運算速度帶來了12 倍的提升。有了獨立的、並行的整型和浮點型數據通路,Volta SM 在負載上也更高效,混合了計算與地址運算。Volta 新的獨立線程調度能力使得併行線程之間的細粒度同步協同(finer-grain synchronization and cooperation)成為可能。最終,新型的L1 Data Cache 與Shared Memory 子系統的結合也能極大地提升性能,同時還簡化了編程。


第二代NVLink。第二代英偉達NVLink 高速互連技術能提供更高的帶寬、更多連接,同時還改進了多GPU 和多GPU/CPU 系統配置的延展性。
HBM2 顯存:更快、更高效。Volta 高度調整的16GB HBM2 顯存子系統提供了900 GB/s 的峰值顯存帶寬。來自三星的新一代HBM2 顯存和Volta 中的新一代顯存控制器的組合實現的顯存帶寬是Pascal GP100 的1.5 倍,而且在許多負載上的顯存帶寬效率更高。

Volta 多處理服務。Volta 多服務處理(MPS:Multi-Process Service)是Volta GV100 的一項新特性,能夠為CUDA MPS 服務器的關鍵組件提供硬件加速,從而能為共享該GPU 的多個計算應用提供更高的性能、隔離和更好的服務質量(QoS)。Volta MPS 還將MPS 客戶端的最大數量從Pascal 的16 提升到了Volta 的48。

增強統一存儲和地址轉換服務。Volta GV100 中的GV100 統一存儲(GV100 Unified Memory)技術包括新型訪問計數器,讓訪問網頁最頻繁的處理器能更準確的遷移存儲頁。

協作組(Cooperative Groups)和新的Cooperative Launch API。協作組是CUDA 9 中新的編程模型,用來組織通信線程組。Volta 增加了對新型同步模式的支持。

最大性能和最大效率模式。在最大性能模式下,Tesla V100 加速器將不受限制的把TDP(熱設計功耗)水平提高到300W,從而加速需要最快計算速度和最高數據吞吐的應用。最大效率模式下,數據中心管理員可以調整Tesla V100 加速器的功率使用,從而用單位功耗下最優的性能進行運算。

為Volta 優化過的軟件。Caffe2、MXNet、CNTK、TensorFlow 等這樣的深度學習框架的新版本,能夠利用Volta 的性能來獲得更快的訓練速度、更高的多節點訓練性能。GPU 加速庫(比如cuDNN、cuBLAS 等)的Volta 優化版本利用Volta GV100 架構的新特性能為深度學習和高性能計算應用提供更高的性能。

GV100 GPU 硬件架構

装备有 Volta GV100 GPU 的英伟达 Tesla V100 加速器是目前世界上速度最快的并行计算处理器。GV100 的硬件创新十分显著,除了为 HPC 系统和应用提供远比现在更强的计算能力(如图 3 所示)之外,它还可以大大加快深度学习算法和框架的运行速度。

圖3:在各種HPC 任務中,Tesla V100 平均比Tesla P100 快1.5 倍。(該性能基於Tesla V100 原型卡)


Tesla V100 可以提供業界領先的浮點和整型計算性能。峰值計算速度(基於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)以及內存控制器組成。一個完整的GV100 GPU 由6 個GPC、84 個Volta SM、42 個TPC(每個TPC 包含了2 個SM)和8 個512 位的內存控制器(共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 個紋理單元。每塊內存控制器都連接了一個768 KB 的2 級緩存,每個HBM2 DRAM 堆棧都由一對內存控制器控制。一個完整的GV100 GPU 包括了總共6144 KB 的二級緩存。圖4 展示了一個帶有84 個SM 單元的完整GV100 GPU(不同產品可以使用不同的GV100 配置)。Tesla V100 加速器使用了80 個SM 單元。

表1. Tesla V100 與過去五年曆代Tesla 加速器的參數對比

Volta SM(流式多處理器)
為提供更高的性能而設計的架構,Volta SM 比過去的SM 設計有更低的指令與緩存延遲,也包括加速深度學習應用的新特性。
主要特性包括:

為深度學習矩陣計算建立的新型混合精度FP16/FP32 Tensor Core。
為更高的性能、更低的延遲而增強的L1 數據緩存。
為更簡單的解碼而改進的指令集,並減少了指令延遲。
更高的速度和能效。

圖5: Volta GV100 SM

Tensor Core:深度學習專用核心
新的Tensor Core 是Volta GV100 最重要的特徵,有助於提高訓練神經網絡所需的性能。Tesla V100 的Tensor Core 能夠為訓練、推理應用的提供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 表示:「通過底層數學計算的優化,Tensor Core 相較之前的構架要省電很多。深度學習的一個重要的限制是energy efficiency,Tensor Core 在解決這個問題的方面相當突出。

矩陣-矩陣乘法運算(BLAS GEMM)是神經網絡訓練和推理的核心,被用來獲得輸入數據和權重的大型矩陣的乘積。如下圖6 所示,相比於基於Pascal 的GP100,Tesla V100 中的Tensor Core 把這些運算的性能提升了至少9 倍。


圖6:Tesla V100 Tensor Core 和CUDA 9 對GEMM 運算有了9 倍的性能提升。(在Tesla V100 樣機上使用預發布的CUDA 9 軟件進行的測試)
Tensor Core 和與它們關聯的數據通道進行了精心的定制,從而極大地提升了極小區域和能量成本下浮點計算的吞吐量。它也廣泛地使用了時鐘門控來盡可能節能。

每個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 每個時鐘可執行64 次浮點FMA 混合精度運算(FP16 乘法與FP32 累加),一個SM 單元中的8 個Tensor Core 每個時鐘可執行共計1024 次浮點運算。相比於使用標準FP32 計算的Pascal GP100 而言,單個SM 下的每個深度學習應用的吞吐量提升了8 倍,所以這最終使得Volta V100 GPU 相比於Pascal P100 GPU 的吞吐量一共提升了12倍。Tensor Core 在與FP32 累加結合後的FP16 輸入數據之上操作。FP16 的乘法得到了一個全精度結果,該結果在FP32 和其他給定的4x4x4 矩陣乘法點積的乘積運算之中進行累加。如圖8 所示。


圖8. Volta GV100 Tensor Core 流程圖

在程序執行期間,多個Tensor Core 通過一組warp 線程的執行而同時使用。warp 內的線程提供了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 開發深度學習應用和框架的新庫接口。英偉達已經和許多流行的深度學習框架(如Caffe2 和MXNet)合作以使用Tensor Core 在Volta 架構的GPU 系統上進行深度學習研究。英偉達將繼續與其他框架開發人員合作以便在整個深度學習生態系統更廣泛地使用Tensor Core。

增強的L1 數據緩存和共享顯存
Volta SM 的 L1 数据缓存和共享显存子系统的组合能显著提高性能,同时也简化了编程并减少了达到或接近峰值应用性能所需的时间成本。
在共享顯存塊中進行集成可確保Volta GV100 L1 緩存具有比過去英偉達GPU 中的L1 高速緩存更低的延遲和更高的帶寬。L1 Volta 作為流式數據的高吞吐量導管(conduit),同時為經常復用的數據提供高帶寬和低延遲訪問,這兩個性能都是目前最好的。英偉達表示,這一特性是Volta 獨有的,其提供比以往更強大的性能。
圖9. 在Volta 上,這些代碼在沒有使用共享顯存的情況下只有7%的性能損失,而Pascal 的性能下降了30%。雖然共享顯存仍然是最佳選擇,但新Volta L1 設計使程序員能夠以更少的編程工作而快速獲得足夠出色的性能。

表2. 全新GV100 與此前各代架構GPU 的形式比較,GV100 GPU 支持全新的Compute Capability 7.0。

獨立的線程調配

Volta 架構旨在設計為比以前的GPU 更容易編程,令用戶能在更複雜和多樣的應用程序上高效地工作。Volta GV100 是第一款支持獨立線程調配的GPU,其在並行線程指令中可以實現細粒度(finer-grain)的同步和協作。Volta 主要的設計目標是減少在GPU 中運行指令所需的工作量,並在線程合作中實現更大的靈活度,這樣從而為細粒度並行算法提供更高的效率。
英偉達同時也展示了他們如何對SIMT(單指令多線程)做出重大改進以推進Volta 架構。32 線程內單個獨立的CUDA 核現在只有有限的自主性;線程現在可以在一個細粒度層面上進行同步,並且仍然處於SIMT 範式下,所以這就意味著更高的整體效率。更重要的是,獨立的線程現在可以放棄再重新安排在一起。這就意味著英偉達的GPU 有一定數量的調度硬件(scheduling hardware)。

圖10:Pascal 和早期的英偉達GPU 在SIMT warp 執行模式下的線程調配。大寫字母代表指令偽代碼中的語句。在一個warp 中不同的分支是序列化的,這樣在分支一邊的所有語句一起執行以在另一邊語句執行前完成。在else 語句後,warp 中的線程通常會重新映射。
圖11:Volta(下方)獨立線程調配架構圖與Pascal 和早期的架構(上方)相比較。Volta 會維持每個線程調配的資源,就像程序計數器(PC)和調用堆棧(S)那樣,而早期的架構以每個warp 為單位維持。


圖12:Volta 獨立線程調配令其可以交叉執行發散分支(divergent branches)的語句。這就允許執行細粒度並行算法,而warp 內的線程也就能同步和通信。

圖13:程序可以使用顯式同步來重新令warp 中的線程收斂


圖14:具有細粒度鎖(fine-grained locks)的雙向鍊錶。在插入結點B 到鍊錶(右)前,需要獲取每一個結點鎖(左)

總結

根據目前公佈的數字,Tesla V100 可以提供15 TFLOPS 的FP32、30 TFLOPS FP16、7.5 TFLOPS FP64 和高達120 TFLOPS 的專用Tensor 運算性能。由於1455 MHz 的峰值運算速度,它相比前一代的CUDA 理論FLOPS 數據增長了42%。Tesla V100 配備了16G 的HBM2 顯存,它的內存時鐘速度從1.4 Gbps 提升至1.75 Gbps,提升了25%。

在GTC 大會上,黃仁勳表示英偉達在研發Tesla GV100 的過程中投入了30 億美元的巨資,這是迄今為止英偉達投資最大的單個項目。第一塊量產型加速卡預計將在今年第三季度通過新一代超算模塊DGX-1V 的形式進入市場,售價不菲(DGX-1V 售價149,000 美元,內含8 塊Tesla V100,換算下來每塊V100 約為18,000 美元)。但因為其強大的計算能力,屆時必將出現不少買家。







我們從事基礎人工智能技術的開發工作。所有技術,從語音識別到計算機視覺、自然語言處理、數據倉庫、用戶理解,我們用人工智能技術支持很多國際業務並孵化新業務方向。

我們提供深度學習完整的訓練設備到應用端解決方案,並且針對深度學習族群提供預安裝服務,提供教育訓練課程,以及協助人工智能的解決核心模型產生。

鴻鵠國際股份有限公司

業務窗口   蔡先生
行動電話:0910-218-322                                                       
公司電話:02-2929-9388 #10
公司傳真:02-2929-7579
Email: sales1@honghutech.com


GTC 講Tensor core

NVidia Volta V100 GPU Detailed: Completely New Architecture

NVIDIA Volta V100 GPU詳細:新型核心
發佈於2017年5月11日下午6:51
NVidia的Volta GV100 GPU和Tesla V100加速器昨天公佈,到2018年實現了Volta到期的2015年承諾。最初的DGX服務器將在3Q17之前發貨,其中包含多個V100加速卡,成本為15萬美元,單位價格為18,000美元。這些設備顯然適用於企業,機器學習和計算應用,但將不可避免地通過後續的V102(或等效)芯片進入遊戲。這與GP100的推出類似,我們在消費者可獲得之前獲得了Accelerator服務器級卡,最終通過主要B2B銷售恢復了一些初始研發成本,幫助消費者。

除了明顯的B2B目標,總是意味著更高的成本,GTC詳細描述的V100 GPU的尺寸為815mm ^ 2,這是我們最近看到的最大的尺寸,P100已經是大的610mm ^ 2 V100。更大的芯片尺寸意味著更低的產量,每個骰子拋出更多的晶片,因此成本隨著產量的降低而上升。

Volta是全新的:這不是基於開普勒,麥克斯韋或基於Pascal的架構,“只有”具有效率優化; 相反,Volta為深度學習應用(“Tensor核心”)建立了一種新型核心,並構建了一個新的GPU。一些組織和集群在框圖上保持不變 - 像SMs,每個Accelerator類SM 仍然包含64個CUDA內核,但更新已經進行了尚未完全詳細的線程執行。

這不是一個消費產品,但就像P100 GPU(深度潛水)一樣,它最終將降至消費級設備。V100的主要變化是引入張量芯,這對消費者來說可能是完全沒用的,但對於業務運營至關重要。

我們從框圖的概述開始:
https://sites.google.com/a/honghutech.com/hht/nvidia-volta/nvidia-volta-block-diagram.png

這是全尺寸的V100框圖,它是我們在GPU上看到的最大的矽片之一。V100的模具尺寸為815mm ^ 2,比P100的610mm ^ 2大30%。為比較,消費級1080 Ti GP102芯片為471mm ^ 2。

全V100在84個SM中託管5376個FP32 CUDA內核,與SM100的64個內核使用類似的GP100組織層次結構,具有1:2的FP64比率和2:1的FP16比率。結果是單精度計算的15TFLOPS,雙精度約8TFLOPS,FP16約30TFLOPS。對於深入學習,FP16是有用的,因為在使用這樣大的數據矩陣時不需要精度。儘管P100的組織佈局相似,但實際的架構卻截然不同。計劃和線程執行已經在V100上重新發明,我們還沒有完整的細節,引入Tensor核心使事情變得複雜。

除了5376個CUDA內核,還有672個Tensor內核,每個SM都有8個Tensor內核。Tensor核心針對HPC,深度學習和神經網絡計算,將ALU聚類成一個單一的單元,專門從事兩個4x4矩陣的熔絲加法運算。每個Tensor內核可以每個時鐘執行64個熔絲乘法運算,每個核心每個時鐘大約是CUDA核心FLOPS的四倍。對於大數據集COMPUTE工作,這是一件大事。

https://sites.google.com/a/honghutech.com/hht/nvidia-volta/nvidia-volta-sm-diagram.png


這是SM佈局的鏡頭。每個SM包含兩個包含FP64,FP32,INT和Tensor核心單元塊的TPC。這只是一個框圖,並不一定代表到Tensor核心的實際管芯空間分配,但是看起來像V100的很大一部分被分配給這個新的核心類型。

每個SM上通常有四個TMU,共有84個SM中的336個TMU到P100的240SMU,分別為60SMs。這些由板上的“tex”標記表示。

Volta架構將基於台積電的12nm FinFET工藝,採用21.1B晶體管的815mm ^ 2,與台積電製造技術的掩模極限相抵觸。

定價看起來約為每單位18,000美元,這是因為這樣一個大的死亡的產量問題。產量將隨著芯片的增加而降低,這增加了製造成本 - 但是大型COMPUTE中心將很容易投入資金。初始特斯拉GV100加速器將是V100模塊的縮減版本,託管5120個內核而不是5276個內核。

HBM2就像GP100一樣存在,同樣的佈局:四個堆疊的HBM2,總共16GB容量的4096位總線。此時,這是HBM2的限制,而不增加堆棧數量。

消費者產品的目標是2018年,因為nVidia 在2015年披露了路線圖。


Ċ
marketing Honghu,
2017年6月30日 下午2:03
Ċ
marketing Honghu,
2017年6月30日 下午2:03
Ċ
marketing Honghu,
2017年6月30日 下午2:02
Comments