《電子技術應用》
您所在的位置:首頁 > 人工智能 > 業界動態 > 深度解讀特斯拉自研芯片架構

深度解讀特斯拉自研芯片架構

2022-08-25
來源:半導體行業觀察

  對于一家自動駕駛電動汽車制造商來說,花費數億美元從頭開始創建自己的人工智能超級計算機,超大規模人工智能訓練的成本和難度有多大?公司創始人必須多么自負和肯定才能組建一支能夠做到這一點的團隊?

  像許多問題一樣,當您準確地提出這些問題時,他們往往會自己回答。很明顯,SpaceX 和特斯拉的創始人兼 OpenAI 聯盟的聯合創始人埃隆馬斯克沒有時間或金錢浪費在科學項目上。

  就像世界上的超級大國低估了完全模擬核導彈及其爆炸所需的計算能力一樣,也許自動駕駛汽車的制造商開始意識到,在復雜的世界中教汽車自動駕駛這種情況總是在變化,這將需要更多的超級計算。一旦你接受了這一點,你就可以從頭開始,建造合適的機器來完成這項特定的工作。

 微信圖片_20220825091956.jpg

  簡而言之,這就是特斯拉的 Project Dojo 芯片、互連和超級計算機工作的全部內容。

  在Hot Chips 34大會上,曾在Dojo超級計算機上工作的芯片、系統和軟件工程師首次公開了該機器的許多架構特性,并承諾將在特斯拉AI日上談論Dojo系統的性能。

  Emil Talpes 在 AMD 工作了近 17 年,研究各種 Opteron 處理器以及命運多舛的“K12”Arm 服務器芯片,他介紹了他的團隊創建的 Dojo 處理器。Debjit Das Sarma 則同期在 AMD 擔任 CPU 架構師,他在演講中受到贊譽,目前是特斯拉的自動駕駛硬件架構師,Douglas Williams 也是如此,我們對他一無所知。這家汽車制造商的首席系統工程師 Bill Chang 在 IBM Microelectronics 工作了 15 年,設計 IP 模塊并致力于制造工藝,然后幫助 Apple 將 X86 處理器轉移到自己的 Arm 芯片上,而Rajiv Kurian一開始在特斯拉工作,然后在Waymo工作。據我們所知,在去年 8 月的 Tesla AI Day 1 上發言特斯拉自動駕駛硬件高級總監Ganesh Venkataramanan負責Dojo項目。過去十五年里,Venkataramanan 還是 AMD CPU 設計團隊的領導者。

  所以以一種奇怪的方式,Dojo 代表了一個可替代的人工智能未來,如果特斯拉來幫助從頭開始設計定制的人工智能超級計算機,從全新核心內核中的向量和整數單元一直到一個完整的 exascale 系統,專為 AI 訓練用例的規模化和易于編程而設計。

  與來自 AI 初創公司的許多其他相對較新的平臺一樣,Dojo 設計優雅而徹底。最引人注目的是特斯拉工程師在關注規模時拋出的東西。

  “我們應用定義的目標是可擴展性,”Talpes 在演講結束時解釋道。“我們不再強調典型 CPU 中的幾種機制,例如一致性、虛擬內存和全局查找目錄,因為當我們擴展到非常大的系統時,這些機制不能很好地擴展。相反,我們依賴于整個網格中非常快速且非常分布式的 SRAM 存儲。與典型分布式系統相比,互連速度高出一個數量級。”

  基于此,讓我們深入了解 Dojo 架構。

  根據 Talpes 的說法,Dojo 核心有一個整數單元,它從 RISC-V 架構中借用了一些指令,并且有一大堆特斯拉自己創建的附加指令。矢量數學單元“主要由特斯拉從頭開始實現”,Talpes 沒有詳細說明這意味著什么。他確實補充說,這個自定義指令集針對運行機器學習內核進行了優化,我們認為這意味著它不會很好地運行孤島危機。

  微信圖片_20220825092014.jpg

  Dojo 指令集支持 64 位標量指令和 64 B SIMD 指令,它包括處理從本地內存到遠程內存傳輸數據的原語(primitives),并支持信號量(semaphore)和屏障約束( barrier constraints),這是使內存操作符合指令不僅在 D1 內核中運行,而且在 D1 內核的集合中運行。至于特定于 ML 的指令,有一組通常在軟件中完成的 shuffle、transpose 和 convert 指令,現在蝕刻在晶體管中,核心還進行隨機舍入( stochastic rounding ),可以進行隱式 2D 填充(implicit 2D padding),即通常通過在一條數據的兩側添加零來調整張量來完成。

  Talpes 明確表示,D1 處理器是我們推測的 Dojo 芯片和系統系列中的第一個,是“高吞吐量、通用 CPU”,它本身并不是加速器。或者更準確地說,Dojo 的架構旨在加速自身,而不需要一些外部設備來完成。

  每個 Dojo 節點都有一個內核,是一臺具有 CPU 專用內存和 I/O 接口的成熟計算機。這是一個重要的區別,因為每個內核都可以做自己的事情,而不依賴于共享緩存或寄存器文件或任何東西。

  D1 是一個超標量(superscalar)內核,這意味著它在其內核中支持指令級并行性,就像當今大多數芯片一樣,它甚至具有多線程設計來驅動更多指令通過該內核。但是多線程更多的是每時鐘做更多的工作,而不是擁有可以將獨立的 Linux 實例作為虛擬機運行的獨立線程,因此同步多線程 (SMT) 的 Dojo 實現沒有虛擬內存,保護機制有限,并且Dojo 軟件堆棧和應用程序管理芯片資源的分配。

  D1 內核是一個 64 位處理器,具有 32 B 的取指窗口( fetch window),最多可容納 8 條指令;一個八寬解碼器每個周期可以處理兩個線程。這個前端饋入( front end feeds into)一個四寬標量調度器(four-wide scalar schedule),該調度器具有四路 SMT,它有兩個整數單元、兩個地址單元和一個用于每個線程的寄存器文件。還有一個帶有四路 SMT 的兩側向量調度器,它饋送到一個 64 B 寬的 SIMD 單元或四個 8x8x4 矩陣乘法單元。

  每個 D1 內核都有一個 1.25 MB 的 SRAM,這是它的主存儲器。它不是緩存,如果有的話,掛在更大的 Dojo 網絡上的 DDR4 內存被視為比其他任何東西都更像大容量存儲。該 SRAM 可以以 400 GB/秒的速度加載并以 270 GB/秒的速度存儲,并且該芯片具有明確的指令,可以將數據移入或移出 Dojo 機器中其他內核的外部 SRAM 存儲器。嵌入在該 SRAM 中的是一個列表解析器引擎(list parser engine),該引擎饋入解碼器對和一個收集引擎(gather engine),饋入向量寄存器文件,它們一起可以將信息發送到其他節點或從其他節點獲取信息,而無需像與其他 CPU 架構。

  這個列表解析功能是 Dojo 芯片設計獨有的關鍵特性之一:

  微信圖片_20220825092032.jpg

  這本質上是一種封裝不同數據位的方法,以便可以在系統中的 D1 內核之間高效傳輸。

  D1 內核支持多種數據格式。標量單元支持 8、16、32 或 64 位的整數,而向量單元及其關聯的矩陣單元支持多種數據格式,具有精度和數值范圍的混合,其中不少是動態的可由 Dojo 編譯器組合。

  微信圖片_20220825092051.jpg

  Talpes 指出,FP32 格式比 AI 訓練應用的許多部分所需的精度和范圍更廣,IEEE 指定的 FP16 格式沒有足夠的范圍覆蓋神經網絡中的所有處理層;相反,Google Brain 團隊創建的 Bfloat 格式范圍更廣,但精度更低。因此,Tesla 不僅提出了用于較低精度和更高吞吐量矢量處理的 8 位 FP8 格式,而且還提出了一組可配置的 8 位和 16 位格式,Dojo 編譯器可以在尾數的精度附近滑動和上圖所示的指數,以涵蓋更廣泛的范圍和精度。在任何給定時間,最多可以使用 16 種不同的矢量格式,但每個 64 B 數據包必須屬于同一類型。

  在圖的右上角,您將看到片上網絡路由器( network on chip router),它將多個核心連接在一起形成一個 2D 網格。NOC 可以處理跨節點邊界的 8 個數據包(boundary),每個方向 64 B,每個時鐘周期,即在所有四個方向上一個數據包輸入和一個數據包輸出到網格中每個核心最近的鄰居。該路由器還可以在每個周期對本地 SRAM 進行一次 64 B 讀取和一次 64 B 寫入,因此可以在內核之間移動數據。

  這些都在在D1 核心上完成所有蝕刻,是由其代工合作伙伴臺積電以 7 納米工藝完成的。之后,特斯拉開始復制 D1 核心并將它們互連網格,像這樣:

  微信圖片_20220825092108.jpg

  十幾個 D1 核心排列成一個本地塊,創建了一個 18 核心乘 20 核心的二維陣列,但由于某種原因,只有 354 個 D1 核心可用。D1 芯片以 2 GHz 運行,在這些內核上共有 440 MB 的 SRAM,在 BF16 或 CFP8 上提供 376 teraflops,在 FP32 上提供 22 teraflops。向量單元中沒有 FP64 支持。如此多的 HPC 工作負載無法在此 D1 芯片上運行,一些使用 64 位矢量數學的 AI 應用也不會。特斯拉不需要關心——它只需要運行自己的人工智能應用程序,如果它想在 D2 或 D3 芯片上添加 FP64 支持來運行其 HPC 模擬和建模工作負載,以便馬斯克的公司可以設計宇宙飛船和汽車,好吧,在完成所有這些工作之后,這相當容易。

  D1 die 有 576 個雙向 SerDes 通道,圍繞在 die 周圍以鏈接到其他 D1 die,并且 D1 die 的所有四個邊緣的帶寬為 8 TB/秒。這些芯片重達 645 平方毫米,可通過這些 SerDes 無縫連接到特斯拉所謂的 Dojo 訓練模塊中。像這樣:

  微信圖片_20220825092138.jpg

  訓練tile采用 25 個已知良好的 D1 裸片,并將它們打包成一個 5×5 陣列,相互連接。訓練tile的外部邊緣在 40 個 I/O 芯片上實現了 36 TB/秒的聚合帶寬;這是 2D 網格的網格的二分帶寬的一半,它跨越了 tile 內的 D1 芯片。該tile具有 10 TB/秒的塊上二分帶寬,以及跨內核的 11 GB SRAM 內存。每個 tile 提供 9 petaflops 的 BF16/CFP8 魅力。

  那些Dojo訓練tile消耗15千瓦,顯然是水冷的,它們的設計使得多個訓練tile可以與相鄰tile互連。目前尚不清楚這是如何發生的,但很明顯,您需要一排相互連接的tile,水平或垂直方向,而不是帶有幾個設備托盤的單獨機架,然后需要某種巨大比例的光纜或電纜,圍繞在tile之間承載數據。垂直工作,如下所示:

  微信圖片_20220825092200.jpg

  您將在上圖中注意到,在 D1 網格的邊緣有所謂的 Dojo 接口處理器或 DIP,它們連接到 D1 網格以及為 DIP 供電并執行各種系統管理的主機系統功能。每個訓練tile總共有 11 GB 的私有 SRAM 主內存,但系統需要某種更大的內存,該內存合理地靠近網格。在這種情況下,Tesla 選擇創建一個 DIP 內存和 I/O 協處理器,其中包含 32 GB 共享 HBM 內存——我們還不知道是哪種,但它是 HBM2e 或 HBM3——以及以太網接口到外部世界以及在tile和核心之間進行比通過這個巨大的網格更直接的跳躍。圖片顯示一對主機安裝了十個這樣的 DIP,每組三個 Dojo 訓練圖塊總共有 320 GB 的 HBM 內存。但圖表上的措辭表明,每個 tile 分配了 160 GB,這意味著每個 tile 一個主機,而不是此處顯示的三個 tile 兩個主機。

  微信圖片_20220825092213.jpg

  該 DIP 卡有兩個 I/O 處理器,每個處理器帶有兩個 HBM 內存組,該卡提供 32 GB 的 HBM 內存和 800 GB/秒的帶寬。對我們來說,這看起來像是稍微降低了 HBM2e 內存。該卡通過 PCI-Express 實現了 Tesla 傳輸協議 (TTP:Tesla Transport Protocol ),這是一種專有互連,對我們來說這有點像 CXL 或 OpenCAPI,以將完整的 DRAM 內存帶寬提供給 Dojo 訓練塊。在卡的另一端,有一個 50 GB/秒的 TTP 協議鏈路在以太網 NIC 上運行,它連接到現有的以太網交換機,該交換機可以是單個 400 Gb/秒端口或成對的 200 Gb/秒端口。DIP 插入 PCI-Express 4.0 x16 插槽,每張卡提供 32 GB/秒的帶寬。每個磁貼邊緣有 5 個卡,有 160 GB/秒的帶寬進入主機服務器和 4 個。

  正如我們已經指出的那樣,DIP 不僅將 DRAM 實現為fat本地存儲,而且還提供了另一種網絡維度,可用于繞過 2D 網格,而需要大量躍點才能跨越所有這些核心和tile。像這樣:

  微信圖片_20220825092230.jpg

  Chang 表示,在整個系統中通過 2D 網格實現端到端可能需要 30 hops,但使用 TTO over Ethernet 協議和fat tree Ethernet 交換機網絡,只需要 4 hops。顯然,帶寬要低得多,但在網絡的第三維(因此是 Z 平面)上的延遲要低得多。

  Dojo V1 訓練矩陣是 Tesla 正在構建的基礎系統,它有 6 個訓練tile、4 個主機服務器上的 20 個 DIP,以及一組連接到以太網交換結構的輔助服務器,如下所示:

  微信圖片_20220825092242.jpg

  基礎 Dojo V1 系統有 53,100 個 D1 內核,在 BF16 和 CFP8 格式下的額定速度為 1 exaflops,在 Tile 上有 1.3 TB 的 SRAM 內存,在 DIP 上有 13 TB 的 HBM2e 內存。完整的 Dojo ExaPod 系統共有 120 個tile,將有 1,062,000 個可用的 D1 內核,重量為 20 exaflops。

  順便說一句,這個東西運行 PyTorch。沒有像 C 或 C++ 那樣低級的東西,也沒有像 CUDA 這樣的遠程。Dojo 機器的另一個巧妙之處在于 SRAM 將自身呈現為單個地址空間。它是一個平坦的內存區域,本地計算懸掛在其內存塊上。

  我們期待看到 Dojo 在 AI 基準測試中的表現。

  

  更多信息可以來這里獲取==>>電子技術應用-AET<<

微信圖片_20210517164139.jpg


本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
主站蜘蛛池模板: 被黄漫网站视频在线观看 | 另类日韩| 亚洲日韩成人 | 日本jizz强视频69视频 | 香蕉视频啊啊啊 | 日本狠狠操| 亚洲精品成人网久久久久久 | 色婷婷激情五月综合 | 一本高清在线视频 | 日韩欧美伦理 | 小雪婷的性欢日记h全文 | 欧美一区二区三区在线视频 | 成人在线天堂 | 夜夜添夜夜添夜夜摸夜夜摸 | 狠狠色噜噜狠狠狠狠97 | 黄污视频在线 | 欧美日韩一区二区不卡三区 | 欧美成人亚洲国产精品 | 精品三级网站 | 成人在激情在线视频 | 日本爽p大片免费观看 | 91精品国产自产在线观看 | 欧美人禽猛交狂配免费看 | 一级毛片免费看 | 日韩伦理免费在线观看 | 不卡视频在线播放 | 一级高清毛片免费a级高清毛片 | 手机看日韩片 | 污视频网站免费观看 | 天堂在线观看视频观看www | 欧美xxx4k精品hd| 一区二区三区免费在线视频 | 一个人看的手机视频www | 亚洲丶国产丶欧美一区二区三区 | 亚洲高清免费视频 | 日韩伦理视频在线观看 | 婷婷综合色 | 成人免费夜片在线观看 | 波多野结衣在线免费 | 免费看又黄又爽又猛的视频软件- | 精品国产一区二区麻豆 |