RISC-V,要顛覆GPU?

RISC-V 不再滿足於顛覆CPU 產業。它正在對整合到SoC 或高級封裝中的每種類型的處理器發動戰爭,這是一項雄心勃勃的計劃,將面臨來自擁有雄厚研發業務和構建良好生態系統的老牌廠商的激烈競爭。

當RISC-V International 執行長Calista Redmond 在去年的峰會上表示RISC-V 將無處不在時,大多數人可能認為她在談論CPU。很明顯,該組織打算在伺服器和深度嵌入式設備中使用RISC-V 核心。但該組織的目標遠不止於此。Redmond暗示,每個處理核心、GPU、GPGPU、AI 處理器以及尚未構思的所有其他類型的處理器都將基於RISC-V。加州大學柏克萊分校教授兼RISC-V 國際主席Krste Asanović 在他的國情咨文中展示了下面的幻燈片,這一點變得更加清晰。



如今,隨著最近完成的安全和加密工作,這個願景開始成形。正在組建小組並審查捐款,以增加對矩陣乘法的支持,矩陣乘法是GPU 和AI 處理器的基本功能。

這些大膽聲明的背後是資料和運算架構的根本轉變。這不再是哪家公司擁有最快的CPU的問題,因為無論設計得多好,所有的CPU都有限制。「在一些垂直市場,例如5/6G、推理和視訊處理,它們的運算工作負載不再適合在傳統CPU 上處理,」西門子EDA 的Catapult HLS 團隊專案總監Russell Klein表示。“這就是我們看到新計算方法被採用的地方。”

幾乎每個應用程式都有某種形式的控制結構。「從記憶體存取的角度來看,圖形是一種非常特殊的野獸,具有非常特殊的要求,」Arteris 解決方案和業務開發副總裁Frank Schirrmeister說道。“如果你看一下最近發布的一些AI 和RISC-V 公告,你會發現有些公司宣布的處理元素顯然包含ISA。”

在某些情況下,這些只需要正確的說明。Bluespec 執行長 Charlie Hauck 表示:「RISC-V 有一種叫做向量擴充的東西。」「根據您如何實現這一點,您可以獲得一些看起來非常像GPU 的東西,其中有許多並行運行的小型單元,或以SIMD 類型的方式運行。”

然而,這條路並不容易。「透過指令擴充將GPU功能添加到RISC-V架構中很有吸引力,因為GPU在AI領域發揮著重要作用,」Stream Computing研發總監Fujie Fan表示。“然而,我們已經意識到架構和生態系統中不可避免的問題。”

懷疑論者比比皆是。處理器的歷史上充斥著失敗的新創公司,它們宣稱他們將用新的運算架構粉碎競爭。許多人沒有考慮到競爭並沒有停滯不前,計算領域正在經歷持續且加速的變化,而轉向新方法和工具以及培訓/再培訓工程師的痛苦和費用絕非微不足道。

「RISC-V 為採用者帶來的價值在於控制處理領域,它擁有現成的開源工具、現成的作業系統(Linux 或即時)以及提供的長期軟體相容性/可移植性的承諾透過ISA 通用性, 」 Quadric工程副總裁Dhanendra Jani 說。「圖形處理是一個非常不同的挑戰——特定領域的處理挑戰。要將基本RISC-V 指令集調整為一種非常適合GPU 任務的指令集,需要大量投資來定義自訂ISA 擴展、構建高度複雜的微架構更改,並對開源工具進行重大手術,使它們與原來不同。這樣做時,使用RISC-V 的幾乎所有固有價值都因廣泛的定製而消失了,您將失去大部分優勢,同時可能會受到核心ISA 功能的束縛,這些功能限制了特定領域GPU 環境中的有用性。簡而言之,從RISC-V 開始而不是從頭開始有什麼意義呢?”

那麼RISC-V的計畫是什麼?「向量是SIMD 操作,使您能夠同時對多個資料進行操作,並讓晶片找出從記憶體中取出資料的最佳方式,處理單個指令,然後將資料放回內存,或將它們轉移到下一個操作,」RISC-V International 首席技術長Mark Himelstein 說。「缺少的基本內容是矩陣乘法。我們收到了多個提案,其中之一類似於適合32 位元指令的向量擴展。這非常困難並且需要設定說明。您設定了stride和masks等內容,然後扣動扳機並執行操作。但如果您想與其他架構上更大的矩陣實現競爭,則必須採用更寬的64 位元指令。這是很多人都在談論的話題。”

問題是有多少複雜性被暴露,有多少仍然隱藏。「ISA 是一個關鍵元件,」 Arm客戶端業務線產品管理高級總監Anand Patel 說。「然而,GPU 的複雜性通常由Vulkan 或OpenCL 等標準API 抽象化。這使得開發人員可以更輕鬆地跨多個供應商進行定位,同時將較低層級的最佳化留給GPU 供應商。即使在GPGPU在類型的應用中,GPU 的架構也在快速發展,以跟上人工智慧處理等新興用例的步伐,因此開發人員能夠存取成熟的軟體生態系統來跟上這些變化至關重要。標準API 確保開發人員不必擔心ISA 更改,而是透明地看到這些底層改進的好處。”


宏觀架構和微架構

區分這兩個問題很重要,因為RISC-V 僅定義了宏觀架構,而將所有微架構決策留給了實作者。當超越CPU 時,這將成為一個更大的問題。「馮諾依曼在某些方面有限制性,但特定實現如何與記憶體互動並不是由RISC-V 決定的,」RISC-V 的Himelstein 說。「大多數GPU 實作都透過多層級管道中的記憶體來優化這一點。當一些操作正在進行時,一些東西來自記憶體。當您開始研究GPU 時,您會談論暴露記憶體互動。我們確實對事情發生的順序有一些限制,因為你想確保操作被明確定義。”

看待問題的方法有很多種。「最先進的GPU 產品可以按照傳統圖形處理和現代人工智慧加速來劃分,」Stream 的Fan 說。「前者更像是可程式ASIC,而不是通用處理器,其核心能力來自於流處理器的實現,而不是ISA。指令集通常對程式設計師來說是不可見的,並且總是處於次要位置。圖形處理器的設計與微架構密切相關,適合用定制指令來實現。對於我們大多數人來說,人工智能和多媒體功能的標準化更具吸引力。要實現這樣的能力,複製GPU並不是唯一的方法。對於RISC-V來說,多媒體功能可以透過向量架構來實現,AI能力可以透過更有效率的異質架構和矩陣加速器來實現。”

如果您希望外部程式設計師為您的裝置編寫軟體,則某些方面會發生變化。「資料流處理可以透過多種方式完成,」西門子的Klein說。「一種是使用小型通用處理器甚至專用處理器的管道,每個處理器都處理問題的一個階段。這比單一大型CPU 更快、更有效率。使用可程式處理器作為計算元件保留了很大的靈活性,但確實放棄了一些性能和效率。這種方法確實可以在任何有能力的多核處理器上構建。問題是這種方法已被軟體開發社區徹底拒絕,他們不願意放棄單線程程式設計模型。”

這對很多企業來說都是一個大問題。「如果您正在尋找通用處理器,根據應用要求,它可以是從單級、兩級或三級微控制器一直到運行多級的多級超標量設計。Bluespec 的Hauck 說道。」或者,你會看到人們擁有4096 個RISC-V 處理器,每個處理器都是小型、簡化的RV32I 類型的東西,它們被組合在特定的系統架構和互連中,使這些東西能夠按照GPU 的精神運作。它們由許多較小的整數單元組成,這些單元共同合作完成一項艱鉅的任務。挑戰在於如何為此開發軟體?」

有了更大的靈活性,可能需要新的方法。「在大型HPC 中,如果您運行的工作負載更加面向資料中心,則它具有一組特定的特徵。但如果您的應用程式是科學應用程序,也許有一些關於載入和儲存以及多種數學類型運算的功能可以擴展,」西門子EDA 首席產品行銷經理Andy Meyer 說。「如果人們選擇這條路線,生態系統就會面臨一些挑戰。最大的成長領域是超大規模應用。如果你看看風險投資的金額,你會發現他們顯然正在解決一個獨特的問題。”


軟體和生態系統

硬體/軟體協同設計一直是數十年來的目標,而RISC-V 是少數幾個取得進展的領域之一。「傳統的數據處理設計不遺餘力地將硬體和軟體分開,」Klein說。「硬體被創建出來,然後軟體人員就可以在上面自由發揮。假設是,如果硬體足夠通用,那麼軟體將能夠完成提供系統功能所需的任何操作。如果您的運算能力和功耗有足夠的餘量,那麼這是可行的。我不會說它效果很好,但它確實有效,儘管相當浪費。”

特定領域的計算開始改變這一點。「要真正發揮資料流處理器的潛力就意味著針對特定應用程式進行定制,」Klein 補充道。“這意味著硬體和軟體團隊需要共同努力才能取得成功。這讓許多組織和設計團隊感到非常不舒服。”

有時協同設計是唯一的方法。「假設您需要在邊緣進行一些處理,」Bluespec 的Hauck 說。「總是會存在外形尺寸、尺寸或功率限制。再多的軟體創新也無濟於事。如果您有一個軟體堆疊,那麼該堆疊就是它的本質。您將無法對任何具有這些類型的約束的特定解決方案進行軟體優化。你必須進入硬體領域。”

在創建嵌入式系統時,處理器接觸到廣泛編程受眾的可能性較小,並且可以進行更多優化。「考慮一下已經完成的向量加密工作,」Himelstein說。「沒有人會在他們的程式中編寫向量加密。這不是他們所做的。他們所做的是使用庫,例如libSSL 或其他一些加密庫,並且使用這些指令。有時他們透過彙編語言來使用它們,然後提供C、C++ 或Java 接口,以便程式、應用程式可以利用它們。”

當需要通用程式設計時,它就會變得更加困難。「如果你看看GPU 的生態系統,你會發現工具鍊是由NVIDIA 控制的,」Fan 說。「包括AMD在內的其他競爭對手曾試圖打破壟斷,但失敗了。透過擴展RISC-V的標準指令集來相容不斷更新的NVIDIA生態系統幾乎是不可能的。另一方面,重新開始也很難,因為NVIDIA 具有先發優勢。”


成功的時刻

儘管如此,RISC-V 的核心在於實現創新。「我們所看到的關於為什麼遺留解決方案是目前最佳解決方案的許多觀點都是歷史性的,」Hauck 說。“智慧架構師和智慧軟體開發人員真正發揮其專業知識的地方將是RISC-V 類型的環境。”

它始於公共需求。「如果有需要,人們就會聚集在一起進行協作,而RISC-V 就是協作,」西門子的Meyer 說。“你會看到一個又一個的例子,世界各地正在發生各種不同的倡議和聯盟。生態系統將會發展,但商業方面和支持社區之間需要保持平衡。”

這可能會帶來一些業務挑戰,尤其是在收回投資回報時。「RISC-V 還需要一段時間才能趕上並與成熟的產品和生態系統競爭,」Hauck 說。「但你會開始發現,對於某些應用程序,只要有合適的公司支持,RISC-V 處理器就沒有理由不能成功。那裡有很多優秀的軟體開發人員。最終他們會到達那裡,因為社區擁有他們創新所需的所有工具。”

那我們還要多久才能看到RISC-V GPU 和AI 處理器呢?Himelstein 表示:「如果您想要為非GPU 類型的世界提供合理的AI 功能補充,那麼今天您已經擁有了。」 「但是,經過批准的矩陣以及這些團體一直要求的所有其他內容的完整補充可能會在大約一年半的時間內出現,其中基本內容可能會出現,然後高級內容可能會在三到四年內出現」。

增量方法可以使部件的使用速度更快。Fan 表示:“分別標準化每個GPU 功能比標準化整個GPU 產品要好得多。” “至於人工智慧功能,我們認為正在進行的RISC-V 矩陣擴展對於IC 設計人員來說是更好的選擇。”(半導體產業觀察)


參考連結

https://semiengineering.com/risc-v-wants-all-your-cores/