RISC-V“希望進入所有處理器”
RISC-V不再滿足於顛覆CPU產業。它正在對整合到SoC或先進封裝中的每種處理器發動戰爭,這是一項雄心勃勃的計劃,將面臨來自財力雄厚的研發運營商及其構建良好的生態系統的激烈競爭。
當RISC-V International(RISC-V國際基金會)的執行長Calista Redmond在去年的峰會上說「RISC-V將無所不在」時,大多數人可能認為她在談論CPU。很明顯,該組織打算推動RISC-V進入在伺服器和深度嵌入式設備。但該組織的目標遠不止於此。
Redmond暗示,每個處理核心,GPU、GPGPU、AI處理器,以及所有其他類型的處理器,都可以是基於RISC-V的。加州大學柏克萊分校教授、RISC-V International主席Krste Asanovi?在他的報告中展示了下面的幻燈片,使得這一點更加清晰。
隨著RISC-V International最近完成的安全和加密標準工作,這個願景開始形成。RISC-V International正在組建小組,並審查捐款,以增加對矩陣乘法的支持,這是GPU和AI處理器的基本功能。
在這些大膽的聲明背後,是資料和運算架構的根本轉變。這不再是關於哪家公司擁有最快的CPU,因為無論它設計得多好,所有的CPU都有限制。
「在一些垂直市場,如5G/6G、推理和視訊處理,他們的運算工作量已無法在傳統CPU上處理。」西門子EDA Catapult HLS團隊的專案總監Russell Klein表示:「這就是我們看到採用新計算方法的地方。”
幾乎每個應用程式都有某種形式的控制結構。Arteris負責解決方案和業務開發的副總裁Frank Schirrmeister表示:「從記憶體存取的角度來看,圖形是一種非常特殊的野獸,有著非常特殊的要求。」。“如果你看看最近發布的一些人工智慧和RISC-V,你會發現一些公司發布的處理元素下面顯然有ISAs。”
在某些情況下,這些需要正確的說明。Bluespec的執行長Charlie Hauck說:「RISC-V有一種叫做向量擴充的東西。」。“根據你如何實現這一點,你可以得到一些開始看起來很像GPU的東西,就許多並行或SIMD類型的小型單元而言。”
然而,這條路並不容易。Stream Computing研發總監Fujie Fan表示:「透過指令擴充將GPU功能加入RISC-V架構中很有吸引力,因為GPU在人工智慧領域發揮著重要作用。」。“然而,我們也意識到這也面臨架構和生態系統中不可避免的問題。”
懷疑論者比比皆是。處理器的歷史上充斥著許多失敗的新創公司,他們宣稱自己將用新的運算架構擊敗競爭對手。許多人沒有考慮到的是,競爭並沒有停滯不前,計算環境正在經歷不斷加速的變化,轉向新的方法和工具以及培訓/再培訓工程師的痛苦和費用並非微不足道。
Quadric工程副總裁Dhanendra Jani表示:「RISC-V為被採用者帶來的價值是在控制處理領域,它擁有現成的開源工具、現成的作業系統(Linux或即時),以及透過ISA通用性提供的長期軟體相容性/可移植性的承諾。」。
「圖形處理是一個非常不同的挑戰——一個特定領域的處理挑戰。要將基本RISC-V指令集改編成一個非常適合GPU任務的指令集,需要大量投資來定義自訂ISA擴展,建立高度複雜的微架構更改,並對開源工具進行’重大手術’,使其幾乎與原始工具相似。
因此使用RISC-V來進行GPU任務,那麼幾乎所有RISC-V的固有價值優勢都將因為需要透過廣泛的定製而被沖淡。你將失去大部分優勢,同時可能被核心ISA功能所束縛,這些功能限制了在特定領域GPU上下文中的效用。簡而言之,從RISC-V開始,而不是一張乾淨的紙開始有什麼意義?」
那麼RISC-V的計畫是什麼呢?RISC-V International技術長Mark Himelstein表示:「向量是SIMD運算,它使你能夠同時對多個資料進行運算,並讓晶片找出從記憶體中取出東西的最佳方式,處理單一指令,然後將東西放回內存,或將它們移到下一個操作。」。“缺少的基本功能是矩陣乘法。
我們收到了多個建議,其中一個建議就像32位元指令中的向量擴展一樣。這非常困難,需要設定指令。你設定步幅和掩碼,然後扣動扳機進行操作。但如果你想在更大的矩陣實作中具有競爭力在其他體系結構上,你必須使用更寬的64位元指令。這就是很多人在談論的。」
問題是有多少複雜性被揭露出來,還有多少仍然隱藏著。Arm客戶業務線產品管理高級總監Anand Patel表示:「ISA是關鍵組成部分。」。「然而,GPU的複雜性通常是由Vulkan或OpenCL等標準API抽像出來的。這使得開發人員更容易瞄準多個供應商,同時將較低級別的優化留給GPU供應商。即使在GPGPU類型的在應用程式中,GPU的架構也在快速發展,以跟上AI處理等新興用例的步伐至關重要的開發人員可以訪問一個成熟的軟體生態系統來跟上這些變化。標準API確保開發人員不必擔心ISA更改,但可以透明地看到這些底層改進的好處。”
宏觀架構與微觀架構
將這兩個關注點分開是很重要的,因為RISC-V只定義宏觀體系結構,而將所有微觀體系架構決策留給實現者。當移動到CPU之外時,這將成為一個更大的問題。RISC-V的Himelstein說:「Von Neumann在某些方面是有限制的,但特定實作如何與記憶體互動並不是由RISC-V決定的。」。
「大多數GPU實作都是透過多層級管道中的記憶體來優化這一點的。有些東西來自內存,而有些操作正在進行中。當你開始看GPU時,你會談論暴露記憶體互動。我們確實對事情發生的順序有一些限制,因為你想確保操作定義良好。”
看待問題有很多方法。Stream Computing研發總監Fujie Fan表示:「最先進的GPU產品可以分為傳統的圖形處理和現代的人工智慧加速。」。「前者更像是一個可程式ASIC,而不是通用處理器,其核心能力來自流處理器的實現,而不是ISA。指令集通常對程式設計師來說是看不見的,總是退居次要地位。圖形處理器的設計與微架構密切相關,適合與客戶機一起實現omized指令。對我們大多數人來說,人工智慧和多媒體功能的標準化更具吸引力。要實現這樣的功能,複製GPU並不是唯一的方法。對於RISC-V來說,多媒體功能可以透過向量架構來實現,AI能力可以透過更有效率的矩陣加速器異質架構來實現。”
如果您希望外部程式設計師為您的裝置編寫軟體,則某些方面會發生變化。「資料流處理可以透過幾種方式完成,」西門子EDA Catapult HLS團隊的專案總監Russell Klein表示:「一種是使用小型通用處理器,甚至是專用處理器的管線,每個處理器都處理一個問題的一個階段。這明顯比單一大CPU更快、更有效率。
使用可程式處理器作為運算元件保留了很大的靈活性,但確實放棄了一些效能和效率。這種方法實際上可以由任何有能力的多核心處理器建構而成。問題是這種方法已經被軟體開發社群徹底拒絕了。他們不願放棄他們的單線程程式設計模型。」
這對許多公司來說是個大問題。Bluespec的Hauck說:“如果你正在尋找一個通用處理器,根據應用需求,它可以是任何東西,從單問題、兩級或三級微控制器,一直到運行多核的多問題超標量設計。” 。「或者,你會看到有4096個RISC-V處理器的設計,每個處理器都是小型的、縮小的RV32I類型的東西,它們在特定的系統架構和互連中被拉在一起,使這些東西能夠以GPU的精神運作。它們由許多較小的整數單元組成,它們正在一起合作完成一項艱鉅的任務。挑戰是如何為此開發軟體?”
有了更大的靈活性,可能需要新的方法。西門子EDA首席產品行銷經理Andy Meyer表示:「在大型HPC中,如果你運行的工作負載更面向資料中心,它就有一定的特徵。但如果你的應用程式是科學計算,那麼可能有一些關於加載和存儲以及多種數學類型操作的功能可以擴展。」。「如果人們選擇這條路線,生態系統將面臨一些挑戰。成長的主要領域是超規模的應用。如果你看看風險投資的金額,你會發現他們顯然在解決一個獨特的問題。”
軟體和生態系統
幾十年來,硬體/軟體協同設計一直是個目標,RISC-V是少數有進步概念的領域之一。Russell Klein說:「傳統的資料處理設計會不遺餘力地將硬體和軟體分開。」。「硬體被創造出來,然後軟體人員就對它失去了控制。如果硬體足夠通用,那麼軟體將能夠做任何它需要做的事情來提供系統的功能。如果您在運算能力和功耗方面有足夠的冗餘,那麼這是可行的。我不會說它效果很好,但它確實有效,儘管它相當浪費。”
特定領域的計算開始改變這一點。Russell Klein補充說:「要真正利用資料流處理器的潛力,就意味著要為特定的應用程式進行客製化。」。“這意味著硬體和軟體團隊需要共同努力才能取得成功。這讓許多組織和設計團隊感到非常不舒服。”
有時聯合設計是唯一的方法。Bluespec的Hauck說:「假設你需要在邊緣進行一些處理。」。「總是會有形狀、大小或功率的限制。再多的軟體創新也無法讓你取得任何進展。如果你有一個軟體堆疊,堆疊就是它。你將無法透過軟體最佳化來獲得任何具有這些類型限制的特定解決方案。你必須從硬體入手。”
當創建嵌入式系統時,處理器暴露在廣泛的程式設計受眾面前的可能性較小,並且可以進行更多的最佳化。Himelstein說:「考慮一下已經完成的向量加密工作。」。「沒有人會在他們的程式中對向量加密進行程式設計。這不是他們所做的。他們使用的是函式庫,例如libSSL或其他一些加密庫,他們使用這些指令。有時他們會透過進入彙編語言來使用它們,然後他們提供一個C、C++或Java接口,這樣軟體和應用程式就可以利用它們。”
當需要進行通用編程時,它會變得更加困難。Fujie Fan說:「如果你看看GPU的生態系統,工具鍊是由NVIDIA(英偉達)控制的。」。「包括AMD在內的其他競爭對手曾試圖打破壟斷,但都失敗了。透過擴展RISC-V的標準指令集,幾乎不可能與不斷更新的NVIDIA生態系統相容。另一方面,也很難重新開始,因為NVIDIA具有先發優勢。”
何時能夠成功?
儘管如此,RISC-V完全是為了實現創新。Hauck說:「我們所看到的為什麼傳統解決方案是目前最好的解決方案,很多都是歷史性問題。」。“智慧架構師和智慧軟體開發人員真正發揮其專業知識的地方將是RISC-V型環境。”
它始於一種共同的需求。西門子EDA首席產品行銷經理Andy Meyer說:「如果有需要,人們會聚在一起合作,RISC-V就是合作。」。“你可以看到一個又一個例子,世界各地正在發生各種不同的倡議和聯盟。生態系統會不斷發展,但在商業方面和支持社區之間存在平衡。”
這可能會帶來一些商業挑戰,尤其是在投資報酬率很低的情況下。Hauck說:「RISC-V還需要一段時間才能趕上並與現有的產品和生態系統競爭。」。「但你會開始看到,對於某些應用程序,如果有合適的公司支持,RISC-V處理器沒有理由不成功。有很多優秀的軟體開發人員。他們最終會成功,因為社區已經擁有了創新所需的所有工具。”
那麼,我們需要多久才能看到RISC-V GPUS和AI處理器呢?Himelstein說:「如果你想在一個非GPU的世界裡擁有合理的人工智慧功能,那麼你今天就已經擁有了。」。「但是,這些團體一直要求的矩陣和所有其他東西的完整補充可能會在大約一年半後出現在基本的東西上,然後可能在三到四年後出現在更高級的東西上。”
增量方法可以更快地使用工件。Fujie Fan說:「與其將整個GPU產品標準化,不如將每個GPU功能分別標準化。」。“至於AI能力,我們認為正在進行的RISC-V矩陣擴展是IC設計師的更好選擇。”