开源GPU,能否彎道超車英偉達?
AMD Radeon最近在X平台發布了一則令人振奮的消息:他們宣布將在五月底开源Radeon GPU的微引擎調度器(MES)固件文檔,並計劃在之後發布源代碼以供外部審查和反饋。隨着社區對Radeon GPU上ROCm(Radeon Open Computer)平台的興趣日增,AMD還建立了一個GitHub跟蹤器,以便更好地捕捉社區的反饋並提供最新的更新。作爲在GPU領域排名第二的重要玩家,AMD此舉可以說是邁出GPU开源重要一步。
說到开源,近年來,RISC-V开源指令集架構在CPU領域已經取得了巨大的成功,其开放、靈活、可定制的特點吸引了越來越多的關注和應用。如今,RISC-V也开始在GPU領域嶄露頭角,一些項目和產品已經取得了初步的成果。RISC-V能否在GPU領域復制CPU領域的成功?
面對英偉達在GPU領域的壟斷地位,开源能否成爲破局之道?
芯片大廠推動GPU开源
开源是AMD AI軟硬件生態系統的一大賣點,雖然ROCm軟件自 2016 年推出以來一直是开源的,但是固件的开源也很重要,AMD GPU 上的MES固件AMD 單獨开發的,不是开源的。
在此簡單科普下固件的概念。固件是嵌入到硬件設備中的特定軟件,它爲硬件提供控制指令,使其能夠執行預定的任務。雖然固件在技術上屬於軟件,但它直接與硬件關聯並專爲特定的硬件設計,通常存儲在不易丟失數據的內存中,如ROM、EEPROM或閃存。固件作爲硬件和更高級軟件(如操作系統和應用程序)之間的橋梁,確保硬件能夠按照預期的方式運行和與其他系統組件交互。與普通軟件不同,固件不經常更改,更新通常是爲了增加新功能或修復錯誤。
通常來說,固件一般不會輕易开源,固件中可能包含了企業的核心技術和商業機密,這些是公司競爭力的重要組成部分。开源固件可能會泄露這些關鍵信息,給競爭對手帶來機會。
AMD做出固件开源這一決定的背後,有一個推動力量不可忽視,那就是人工智能初創公司Tiny Corp的堅持和倡導。Tiny Corp使用AMD的Radeon 7900 XTX GPU來構建他們的"TinyBox"——一款配備六塊顯卡的機器,專門用於處理AI工作負載。然而,在今年3月,TinyBox遇到了與MES固件相關的技術問題,Tiny Corp X 帳戶(可能由 Hotz 主導)开始抱怨驅動程序和固件問題導致崩潰和掛起,這直接影響了其發布進程。因此,他們多次公开要求AMD开源其MES固件,以便能夠修復有問題的錯誤。Tiny Corp還提出了改用 Nvidia或 Intel GPU的想法。
來源:Tiny Corp
雖然最开始Lisa Su拒絕了MES固件开源這一提議,但如今看來,AMD最終還是妥協了。
如果AMD真的开源MES固件,這不僅可能鞏固Tiny Corp與AMD的合作關系,還可能促使更多的企業和开發者轉向AMD的平台。畢竟英偉達太貴了,按照Tiny Corp公布的價格,若採用AMD GPU,其TinyBox的售價爲15,000美元,相比之下,採用Nvidia GPU的價格將高達25,000美元。這兩款計算平台都將在今年6月份上市。此外,Tiny Corp 未來也可能推出 Arc A770 TinyBox,不過該公司表示目前只有原型機,目前沒有推出的計劃。
此舉不僅可能增強AMD在AI領域的競爭力,還可能促使ROCm成爲英偉達CUDA的有力競爭者,ROCm軟件是AMD用於GPU計算的开源堆棧。衆所周知,英偉達的CUDA軟件雖然好用,但卻是閉源的。
在軟件方面,英特爾有开放的軟件堆棧oneAPI。說到此,一項脫胎於英特爾oneAPI的新標准也意欲打破CUDA霸權!英特爾極擅於制定各種標准,關於此,可閱讀《你不一定知道的英特爾》一文。2023年9月,Linux基金會宣布成立統一加速 (UXL,Unified Acceleration) 基金會。該聯盟的主要目標是开發能夠與各種人工智能芯片組配合使用的开源軟件。Linux 基金會執行董事 Jim Zemlin表示:“統一加速基金會體現了協作和开源方法的力量。通過聯合領先的技術公司並培育跨平台开發的生態系統,我們將釋放新的可能性以數據爲中心的解決方案的性能和生產力。”
UXL Group 的开發工作主要集中在英特爾OneAPI的軟件工具包上。OneAPI 基於名爲 SYCL 的早期框架(SYCL是一種Khronos开放標准),主要目標是簡化跨多架構的开發過程(如CPU、GPU、FPGA、加速器),專注於簡化應用程序的可移植性。目前英特爾通過多項附加功能擴展了該框架,其中最引人注目的是名爲 SYCLomatic 的功能,它的目的是爲 Nvidia CUDA 編寫的軟件轉換爲能夠在其他公司的 AI 芯片上運行的 SYCL 代碼。
UXL生態系統副總裁兼基金會指導委員會主席Rod Burns在一篇文章中的說法,在快速發展的異構計算時代下,UXL的推動成立,是產業發展的必然結果。目前,UXL的早期指導成員由高通、谷歌、英特爾、Arm、imagination、三星、VMvare(博通)、富士通八家國際芯片和軟件公司組成。在很多分析人士看來,UXL的成立,是這些公司希望能夠聯合起來,打破CUDA霸權。
高通人工智能和機器學習主管 Vinesh Sukumar 此前在接受路透社採訪時表示:“我們實際上是在向开發人員展示如何從 Nvidia 平台遷移出來。”從長遠來看,UXL 最終旨在減少將 Nvidia 支持的應用程序遷移到競爭對手芯片所需的工作量和成本。這可能會給英偉達市場領先的顯卡帶來更多競爭。
從這個趨勢可以看出,雖然 CUDA 在 GPU 編程領域確立了強有力的地位,但是开源和开放標准的推動是行業的一個明顯趨勢。長期而言,這種开放性有助於降低對單一供應商的依賴,促進更多競爭和合作,推動整個行業的發展。不過,打破現有的“霸權”並非易事,需要時間、資源以及持續地技術創新。
RISC-V开源之風吹向GPU
調研跟蹤計算機圖形行業35年之久的Jon Peddie Research (JPR) 表示,業界一直在尋求一種足夠靈活且可擴展的开放標准GPU,以支持各種市場。
而近年來,开源硬件指令集架構RISC-V的崛起,爲處理器技術帶來了一股新風潮。這股开源之風現在正吹向圖形處理單元(GPU)。不少廠商和學術界的研究者已經稍有動作。
1
IP廠商:GPU IP
X-Silicon Inc. (XSi) 是一家提供开放標准計算圖形硅 IP 解決方案的初創公司,他們正在开發一個基於RISC-V矢量的統一圖形計算引擎(C-GPU)革新GPU設計。傳統的GPU架構是SIMD(單指令流多數據流),受制於主機 CPU、操作系統和圖形服務,限制了創新並有助於保持現有企業對其市場的控制。X-Silicon使用的是MIMD(多指令流多數據流)架構,它可以同時在一個芯片中獨立運行 CPU 和 GPU 代碼,從而降低內存使用量並提高性能。
在該公司的多核設計中,多個 C-GPU 內核被平鋪在一個芯片上,並通過片上快速合成器結構連接起來,該結構可將每個內核的輸出動態聚合到一個公共緩衝區,即用於圖形用例的幀緩衝區,或用於編解碼器、視頻特效處理和人工智能處理的流水线緩衝區。該公司聲稱,它還可以通過近內存計算、統一內存架構和其他新穎的硬件配置來加速計算,從而減少 GPU 固有的延遲。他們爲此申請了 14 項專利。
左:X-Silicon的單核概念;右:X-Silicon的單核架構(來源:X-Silicon)
IP巨頭Imagination Technology早在前幾年就推出了部分採用了RISC-V的GPU IP,該公司對外宣傳,其所有GPU 都兼容RISC-V SoC。
另外一家嵌入式系統GPU IP提供商Think Silicon是 Applied Materials (應用材料)旗下公司,在做面向 MCU 市場的基於 RISC-V 的 GPGPU 解決方案,他們提供了在一個 IP 架構中執行 3D 圖形和 AII 的獨特組合。
2
科研院所:GPGPU开源項目
近年來,通用圖形處理單元(GPGPU)在人工智能領域迅速得到大規模應用。GPGPU是高性能並行計算處理器芯片的一種,因爲可編程性、易移植性,面對新興應用具有更低的跟隨成本,所以始終佔據着高性能計算市場很大的份額。
一些科研院所开始探索开源GPGPU,其中較爲代表的是佐治亞理工學院和清華大學。
佐治亞理工學院的开源RISC-V GPGPU Vortex是一個开源硬件和軟件項目。目前,Vortex 已經發布了2.0版本, 它支持 OpenCL 並在 FPGA 上運行,如Altera Arria 10、Altera Stratix 10、Xilinx Alveo U50, U250, U280、Xilinx Versal VCK5000。Vortex 平台具有高度可定制性和可擴展性,擁有完整的开源編譯器、驅動程序和運行時軟件棧,可用於 GPU 架構研究。
Vortex GPU平台(圖源:Vortex)
看到了GPGPU在AI領域的大規模應用,又考慮到我國面臨着高性能處理器進口受限、IP授權不可控性的現實挑战。在這樣的背景下,清華大學集成電路學院何虎團隊希望可以开發一款开源的GPGPU,用於教學和科研目的。清華大學“乘影”GPGPU开源項目於2024年1月26日正式啓動,這是一次對GPGPU產業自主創新的一次新的嘗試。“乘影”是清華大學集成電路學院何虎老師研發團隊歷經多年研發,採用RISC-V部分指令和自定義指令構建的通用GPU指令集架構。
衆所周知,RISC-V是用於CPU的指令集,他們爲何會選用RISC-V指令集來做GPGPU?據何虎告訴筆者:“在決定开發一款开源GPGPU時,選擇合適的指令集架構便成爲關鍵考慮因素。觀察國際上的开源GPU項目,大多數採用了商業GPU的指令集架構,這導致其後續發展可能會受到私有指令集限制。考慮到开源的指令集架構能夠讓开源項目不受限制地發展。同時我們希望开發的是面向科學計算和人工智能計算的高性能GPGPU,因此採用了當時即將正式發布的RISC-V Vector擴展作爲我們开源GPGPU的基礎指令集。與RISC-V的標量指令相比,Vector指令攜帶的信息更爲豐富,支持的計算種類也更多,這爲GPGPU應用帶來了獨特的優勢。”
何虎進一步指出,雖然Vector指令集和GPGPU在數據並行處理上有衆多相似之處,但Vector基於SIMD架構,而GPGPU基於SIMT架構,因此需要對架構進行深度修改以在GPGPU上實現Vector指令。
據悉,目前該研發團隊已經採用Chisel語言完成了完整的GPGPU微架構設計和實現,同時還實現了OpenCL編譯器,功能和周期軟件仿真器,POCL,驅動軟件等整套工具鏈軟件。通過了大部分OpenCL 2.0 CTS測試集的驗證。
“乘影” GPGPU微架構
“乘影” 开源GPGPU指令集架構大部分指令來自於RISC-V指令集,充分利用RISC-V現有的指令集架構生態,使得市場主體很容易接受和參與到軟件开發和芯片設計中,同時採用了GPGPU SIMT架構並設計了多條擴展指令。
“乘影”的乘影自定義指令集包括幾個方面:
分支、同步、线程束控制:主要是爲了在SIMT架構下運行程序所必需的控制指令。解決多线程鎖步執行時,不同的线程要走不同分支的問題。還有核函數結束指令。
寄存器/立即數擴展:主要是是爲了解決RISC-V指令集寄存器編碼空間和立即數位寬不足的問題。擴展以後的指令集可以支持64個標量寄存器,256個向量寄存器,11位立即數。與主流GPGPU相同。
寄存器對拼接:是爲了解決32位寄存器處理64位地址和數據的問題。乘影沒有簡單的採用RV64擴展寄存器位寬的方式來處理64位地址和數據。因爲在GPGPU應用中,64位數據使用非常稀少,64位寄存器將對硬件設計帶來浪費。乘影用兩個相鄰32位寄存器構成64位寄存器的方式來解決這個問題。
自定義訪存指令:實現OpenCL定義的訪存操作。
張量計算和指數函數:支持Transformer類型的神經網加速設計的
“乘影”GPGPU指令集
何虎告訴筆者,做开源GPGPU的目的有這么幾點:一是推動形成GPGPU指令集架構標准。形成統一軟硬件生態。讓企業不再重復造輪子,各自構建自己的體系。最終形成行業統一的技術標准和軟硬件生態。GPGPU行業企業可以各自發揮所長,找到自己的價值。二是利用开源社區探索先進的GPGPU設計技術,避免專利陷阱和技術壁壘。讓企業可以放心在开源GPGPU基礎上开發商用GPGPU。三是可以培養GPGPU產業所需的各類人才。目前乘影开源GPGPU已經被國內外高校老師應用於教學和科研。
3
芯片公司
今年2月24日,GPU芯片廠商芯瞳半導體發布公告稱,其成功开源了一款基於RISC-V指令集的GPU處理器模型RVGPU,這款模型採用SIMT(單指令多线程)技術,能夠爲GPU設計帶來新的靈活性和擴展性。現已成功實現對CUDA的兼容支持,包括CUDA編譯器和運行時環境。該公司表示,將進一步強化對CUDA的支持,並積極探索RISC-V在GPU領域的更多可能性。
RVGPU軟件棧(來源:芯瞳半導體)
爲什么是RISC-V?
指令集架構是开源GPU發展的基石,在开源GPU生態系統中扮演着至關重要的角色。指令集處於軟件程序和硬件電路之間,起到接口的作用。在處理器芯片技術棧最重要的中間抽象層是指令集架構(ISA)。對於硬件开發者來說,ISA定義了硬件的功能和行爲規範,允許在同一架構下开發出性能和成本各異的多樣化產品;對軟件开發者來說,ISA可以視爲硬件產品的使用手冊。
今天,英偉達以指令集爲基石的高可編程性,也就是CUDA,成爲了其在相關領域取得市場份額和話語權的關鍵因素。但是在當今的GPU行業中,大部分商業公司選擇將指令集架構作爲閉源技術標准。應用开發者只能藉由上層的圖形應用程序編程接口,或者通用並行編程平台進行編程。商業公司自己負責指令集架構的設計與規劃,並提供從微架構實現到應用程序編程接口之間的全套支持。不過英偉達和AMD都選擇开放部分指令集架構標准,初衷主要是爲了讓應用开發者進行更深入的性能優化。
面對國際大廠的閉源策略,开源指令集RISC-V有望突破這一現狀。何虎在“乘影”技術研討會上指出,如果指令集架構變成开源技術標准,上下遊开源標准之間分割出的軟硬件技術棧有能力供養一批獨立的軟硬件解決方案公司。對於軟件公司而言,建立統一的軟件生態系統,減少上層應用和工具軟件的开發和遷移成本;對硬件公司來說,可以讓芯片公司專注於硬件設計,提高GPU芯片公司的資源投入效率,進而提高技術水平和競爭力。
通過建立大衆參與的开放上下遊生態,建設積極旺盛的人才培養環境,使部分國內GPU設計公司核心技術擺脫海外IP授權。這樣才能爲我國GPU產業長期發展奠定堅定基礎,使其做大做強。
結語
开源GPU能否與英偉達一搏,尚需時間檢驗。但可以肯定的是,开源將爲GPU市場帶來更多競爭和活力。無論結果如何,开源GPU的探索和嘗試本身就是科技進步和开源精神的一個重要體現。從長遠來看,如果隨着技術的進步和社區的壯大,相信开源GPU有潛力在某些特定領域或細分市場中取得一席之地。我們期待着开源GPU生態系統的不斷完善,以及更多高質量的开源GPU產品出現。
標題:开源GPU,能否彎道超車英偉達?
地址:https://www.iknowplus.com/post/98729.html