來源:內容由半導體行業觀察(ID:icbank)編譯自theregister,謝謝。
據theregister報道,RISC-V 初創公司 SiFive 表示,其處理器在某種程度上被用於管理谷歌數據中心的人工智能工作負載。
據 SiFive 稱,涉及處理器是其 Intelligence X280,這是一種具有矢量擴展的多核 RISC-V 設計,針對數據中心的 AI/ML 應用程序進行了優化。當與從谷歌的張量處理單元 ( TPU ) 中提取的矩陣乘法單元 (MXU) 結合使用時,據稱可以為機器學習工作負載的編程提供更大的靈活性。
從本質上講,X280 處理器中的通用 RV64 內核運行管理設備的代碼,並根據需要將機器學習計算輸入谷歌的 MXU 以完成工作。X280 還包括自己的矢量數學單元,可以處理加速器單元無法處理的操作。
SiFive 和 Google 對此相當謹慎,也許是出於商業原因,關於它是如何封裝和使用的,雙方並沒有透露太多。儘管聽起來 Google 已經將其定製加速單元放置在多核 X280 片上系統中,連接Google 設計的 MXU 直接連接到 RISC-V 核心複合體。而根據 SiFive 的說法,這些芯片用於谷歌的數據中心和「人工智能計算主機」中,以加速機器學習工作。
我們想象如果這些被用於生產,這些芯片正在處理服務中的任務。我們注意到,您不能直接在 Google Cloud 上租用此硬件,它提供由傳統 x86、Arm、TPU 和 GPU 技術提供支持的 AI 優化虛擬機。
本月早些時候在硅谷舉行的 AI 硬件峰會上,SiFive 聯合創始人兼首席架構師 Krste Asanović 和谷歌 TPU 架構師 Cliff Young 以及在早前SiFive 博客文章中,都披露了這些細節。
據 SiFive 稱,它注意到隨着 X280 的推出,一些客戶開始將其用作加速器的配套內核,以處理加速器無法執行的所有內務管理和通用處理任務。
許多人發現需要一個功能齊全的軟件堆棧來管理加速器,該芯片業務表示,客戶意識到他們可以在大型加速器旁邊使用 X280 核心複合體來解決這個問題,RISC-V CPU 核心負責處理所有維護和操作代碼,執行大型加速器無法執行的數學運算,並提供各種其他功能。從本質上講,X280 可以作為加速器的一種管理節點。
為了利用這一點,SiFive 與 Google 等客戶合作開發了所謂的矢量協處理器接口擴展 (VCIX),它允許客戶將加速器直接緊密鏈接到 X280 的矢量寄存器文件,從而提供更高的性能和更大的數據帶寬。
根據 Asanović 的說法,好處是客戶可以將自己的協處理器帶入 RISC-V 生態系統,並在包含通用 CPU 內核和加速單元的混合。
從 Google 的角度來看,它希望專注於改進其 TPU 技術系列,而不是浪費時間從頭開始製作自己的應用處理器,因此將這些加速功能與現成的通用處理器配對似乎是正確的方法。
VCIX 本質上以低延遲將 MXU 粘合到 RISC-V 內核,無需花費許多周期等待通過內存、緩存或 PCIe 在 CPU 和加速單元之間傳輸數據。相反,我們被告知,通過向量寄存器訪問只需幾十個周期。這也表明一切——RISC-V CPU 複合體和定製加速器——都在同一個芯片上,封裝為片上系統。
應用程序代碼在通用 RISC-V 內核上運行,任何可由 MXU 加速的工作都通過 VCIX 傳遞。根據 Young 的說法,這種方法還有其他優點以及效率。編程模型得到了簡化,從而產生了一個帶有交錯的標量、向量和協處理器指令的單個程序,並允許開發人員在其中使用 C/C++ 或匯編程序進行編碼的單個軟件工具鏈。
「藉助基於 SiFive VCIX 的通用內核與 Google MXU 的『混合』,您可以構建一台機器,讓您『有蛋糕也能吃』,充分利用 MXU 的所有性能和通用處理器的可編程性CPU 以及 X280 處理器的矢量性能,」Young 說。
製造像這樣的定製芯片的能力可能仍然是像谷歌這樣的超大規模企業的領域,或者那些有利基需求和財力雄厚的企業,但它確實證明了由於開放生態系統 RISC-V 模型的靈活性可以實現什麼.
這種靈活性和開放性似乎足以吸引谷歌——RISC-V 的長期支持者,在其一些其他產品中使用 RV 內核——使用新貴架構,而不是將其定製協處理器硬塞進 x86 芯片或 Arm - 許可設計。
SiFive Intelligence X280 作為 AI 計算主機:Google 數據中心案例研究
在 9 月 14 日於聖克拉拉舉行的 AI 硬件峰會上,SiFive 聯合創始人兼首席架構師 Krste Asanovic 與 Google TPU 架構師和 MLPerf 聯合創始人 Cliff Young 一起上台,展示了最新的 SiFive Intelligence X280 處理器和SiFive 矢量協處理器接口擴展 (VCIX) 是如何被用作 AI 計算主機,與提供靈活的編程與數據中心中的 Google MXU(脈動矩陣乘法器)加速器相結合。他們還談到了為什麼這種類型的架構在 AI/ML 工作負載中越來越流行,以及通過這種配置,SiFive 如何提供必要的計算能力,以便谷歌可以專注於深度學習 SOC 開發。

SiFive Intelligence X280 是具有矢量擴展功能的多核 RISC-V 處理器,針對數據中心中的 AI/ML 應用程序進行了優化。正如 Krste 所解釋的,X280 有一個 64 位應用處理器和一個支持 RISC-V Vector 1.0 批准標準的擴展矢量單元,提供了一個專為矢量計算執行標準軟件而設計的全功能處理器。X280 具有 32 個 512 位寄存器,允許您將多個向量寄存器組合在一起以形成更長的向量(最多連續 8 個)。這允許高達 4096 位的操作,這有助於降低功耗並增加對具有較長向量的群組的優化。
SiFive 還提供了 SiFive 智能擴展,它添加了自定義指令以優化 AI/ML 工作負載。X280 運行完整的 RISC-V 軟件堆棧以及管理程序。它是一款高效、支持 Linux 的處理器,具有完整的應用處理器支持,支持高達 48 位的虛擬內存空間以及私有 L1 和 L2 緩存。來自 L2 緩存的向量流和所有內核共享 L3 緩存。藉助最新的 X280,SiFive 提供了改進的軟件編譯器以實現更高的性能、功能強大的應用程序內核、非常寬的矢量單元,並支持大型緩存一致的多處理器配置。

上圖顯示了使用 Mobilenet 進行 AI 加速的示例,使用 X280 標準矢量指令(相對於標量 ISA)提供了 24 倍的巨大加速,然後使用 SiFive Intelligence 擴展實現了約 6 倍的加速。Krste 還指出,X280 可以自行運行,在邊緣執行推理任務,它還可以作為應用程序處理器和推理引擎,用於較小的工作負載。
改變遊戲規則的 VCIX

在推出 X280 之後,SiFive 開始看到很多客戶將其用作配套核心。如上圖所示,X280 具有許多加速 AI 和 ML 的特性,但它並不是傳統上為數據中心構建的大型 AI 加速器。構建這些大型加速器的客戶發現他們有一堆複雜的計算需要完成,而他們的加速器「真的不知道該怎麼做」。例如,許多人發現您需要一個功能齊全的軟件堆棧來運行不在位於加速器上的內核中的代碼。為了解決這一挑戰,客戶意識到他們可以將 X280 內核放在他們的大型加速器旁邊,在那裡它可以提供維護代碼和操作代碼,運行大型加速器無法執行的內核,或者提供其他有價值的額外功能。
有了這些真實世界的客戶反饋,SiFive 着手開發更適合這個用例的東西。通過與 Google 等客戶合作,SiFive 提出了矢量協處理器接口擴展 (VCIX),它允許您將加速器直接插入 X280 的矢量寄存器文件,並以 10 個周期的快速進出順序進行通信. 例如,這有助於添加複雜的指令,例如顏色轉換。總體而言,VCIX 為您提供了更高的性能和更大的數據帶寬,因為您可以直接進入向量寄存器文件,再加上更低的延遲和簡化的軟件。
VCIX 直接連接到 X280 中的 32 個 512 位寄存器,也連接到標量指令流,從而創建一個直接耦合到 X280 標量處理器的指令流的高帶寬、低延遲路徑。設計人員不僅可以將某些功能卸載到軟件加速器,還可以靈活地讓 X280 自己處理某些功能。正如 Krste 強調的那樣,好處是您可以將自己的協處理器帶入 RISC-V 生態系統並獲得完整的軟件堆棧和編程環境。您可以運行完整的 Linux 以及具有完整虛擬內存和緩存一致性支持的管理程序。
Google TPU 的優雅分工

正如 Cliff 解釋的那樣,谷歌在他們的 TPU 技術上進行了重大的創新和投資,他們基本上是在九年前從「零開始」構建的。認識到向更以 IP 為導向的世界的轉變,谷歌希望專注於最關鍵領域的創新,以及他們真正的優勢和差異化所在,例如 TPU 的網絡和收縮陣列領域。
正如 Cliff 解釋的那樣,標量和矢量解決方案最好留給這些技術的專家,所以與其讓谷歌重新發明輪子,他們尋找選項,SiFive 帶來了解決方案。如果您可以使用通用堆棧重用通用處理器怎麼辦?在評估通用內核與加速器時,他們研究了如何讓編程變得更容易。看看 VCIX,Google 看到了靈活性的機會,例如,如果你想在核心旁邊運行 Python,你可以以非常低的延遲這樣做。
他進一步強調了 VCIX 的承諾,即「將加速器和通用處理器緊密結合在一起」。與通過 PCIe 進行片上高速緩存的數百個周期或數千個周期的訪問不同,您可以通過向量寄存器訪問獲得數十個周期的好處。

Cliff 解釋了他所定義的重要「分工」,定義了配套核心和 MXU 之間的技術和業務運營。向量單元提供了一個寬泛的內存路徑,並且大部分虛擬工作都是在 VCIX 中完成的。當您使用最少的指令添加界面覆蓋時,無需打開解碼器。VCIX 允許以更大的靈活性發送和接收指令。這種靈活性和控制允許在 Google 矩陣乘法單元 (MXU) 和 X280 之間進行清晰高效的分工。正如 Cliff 總結的那樣,通過基於 SiFive VCIX 的通用內核與 Google MXU 的「混合」,您可以構建一台機器,讓您「有蛋糕也能吃,「充分利用 MXU 的所有性能和通用 CPU 的可編程性以及 X280 處理器的矢量性能。對於谷歌和其他客戶來說,這提供了更加可編程和靈活的未來機器。
參考鏈接:
https://www.theregister.com/2022/09/23/google_using_sifive_riscv_cores/
https://www.sifive.com/blog/sifive-intelligence-x280-as-ai-compute-host-google
*免責聲明:本文由作者原創。文章內容系作者個人觀點,半導體行業觀察轉載僅為了傳達一種不同的觀點,不代表半導體行業觀察對該觀點讚同或支持,如果有任何異議,歡迎聯繫半導體行業觀察。
今天是《半導體行業觀察》為您分享的第3173內容,歡迎關注。
推薦閱讀
★美國實現0.7nm芯片?繞開EUV光刻機?
★RISC-V將贏得下一輪架構之爭?
★6G爭霸賽打響!
半導體行業觀察

『半導體第一垂直媒體』
實時 專業 原創 深度
識別二維碼,回復下方關鍵詞,閱讀更多
晶圓|集成電路|設備|汽車芯片|存儲|台積電|AI|封裝
回復 投稿,看《如何成為「半導體行業觀察」的一員 》
回復 搜索,還能輕鬆找到其他你感興趣的文章!
