避開英偉達(dá)的“門檻”,RISC-V也能做出高效GPU
RISC-V一直以其開源特性而備受業(yè)界關(guān)注。不過,一直以來,RISC-V相關(guān)IP主要集中在CPU領(lǐng)域,而事實上,它也可以用在GPU領(lǐng)域。
你我都知道,GPU領(lǐng)域幾乎被一兩家企業(yè)所統(tǒng)治,這是因為GPU領(lǐng)域生態(tài)是最大的壁壘。加之專利門檻極高,GPGPU(通用GPU)IP在圖形處理領(lǐng)域一直不溫不火。
最近幾年,大家都探索通過擴(kuò)展和改寫RISC-V CPU指令集,做GPU。
全世界都在研究RISC-V GPU架構(gòu)
事實上,全世界都不想看一兩家廠商壟斷市場,都在想辦法做各種開源GPU架構(gòu),這其中既包含較老的指令集或是中間語言進(jìn)行實現(xiàn),有些則基于RISC-V CPU指令集進(jìn)行改進(jìn)和擴(kuò)展來實現(xiàn)GPGPU的功能。
2021年,喬治亞理工研究了一種支持CUDA的RISC-V GPU架構(gòu)——Vortex。
前幾日,一個成立于2022年的美國公司X-Silicon發(fā)布了其開放標(biāo)準(zhǔn)、低功耗的C-GPU架構(gòu)。
根據(jù)介紹,C-GPU架構(gòu)將打造成為開源、統(tǒng)一的RISC-V 矢量 CPU-with-GPU ISA 架構(gòu),C-GPU采用NanoTile架構(gòu),X-Silicon將這種CPU/GPU混合處理器稱為“萬能處理器”。其處理器專為動態(tài)內(nèi)容最佳管理和渲染而設(shè)計,并超越傳統(tǒng)GPU限制。
翻譯翻譯就是把基于RISC-V架構(gòu)的CPU和GPU放在同一個核內(nèi)。
國內(nèi)方面,上海清華國際創(chuàng)新中心集成電路研究平臺推出的首款基于RISC-V向量擴(kuò)展(RVV)的GPGPU“Ventus(乘影)”,是國內(nèi)首個開源GPGPU,也為后續(xù)協(xié)同企業(yè)開發(fā)國產(chǎn)全自主GPU商用產(chǎn)品的路上邁出關(guān)鍵一步。
根據(jù)官方信息顯示,RVV GPGPU參考RISC-V CPU開發(fā)思路,在滿足SIMT基礎(chǔ)功能同時,汲取RISC-V向量擴(kuò)展在功能定義和指令設(shè)計上優(yōu)勢,將二者有機(jī)結(jié)合,使乘影同時具備向量處理器工具鏈兼容性和GPGPU編程靈活性。
陳巍博士解讀,乘影主體大框架借鑒GPGPU的結(jié)構(gòu),每個流多處理器(Streaming Multiprocessor,SM)主體結(jié)構(gòu)接近于RISC-V。后端執(zhí)行則直接使用處理器中常用ALU、FPU、LSU。為了讓SM能夠完成GPGPU工作,乘影里添加了SIMT-stack和SFU這類GPU中的常見功能模塊。
2024年2月,芯瞳成功開源了一款基于RISC-V指令集的GPU處理器模型RVGPU,這是芯瞳在RISC-V + GPU方向持續(xù)研究取得的重要突破。
根據(jù)官方介紹,RVGPU采用SIMT(單指令多線程)技術(shù),現(xiàn)已成功實現(xiàn)對CUDA(Compute Unified Device Architecture)的兼容支持,包括CUDA編譯器和運(yùn)行時環(huán)境。除此以外,RVGPU的架構(gòu)指令CModel仿真模型允許開發(fā)者在模擬環(huán)境中模擬GPU的各種指令和行為。
綜合來看,上述產(chǎn)品均基于LLVM開源工具鏈完成GPGPU編譯器的開發(fā),支持OpenCL開源并行編程框架。
可見,所有廠商都有著一個共同的目標(biāo),那就是建設(shè)一個開源GPU生態(tài)。
不過,總的來說,GPU是一個非常復(fù)雜的產(chǎn)品,絕不僅僅只是一個開源GPU就能夠與現(xiàn)有玩家五五開的,未來還依賴大量的研發(fā)與投入。
跨越專利、生態(tài)門檻是關(guān)鍵
目前的RISC-V可以說是初入 GPU賽道,未來能否取得更好表現(xiàn),業(yè)界也在關(guān)注。David Harold就表示,GPU確實是一個很難的賽道,如果不是這么多專利保護(hù)起來,不會看到現(xiàn)在世界上只有為數(shù)不多的幾家GPU。RISC-V肯定也會面臨這些困境,很難克服這種挑戰(zhàn)。只有完全克服這些挑戰(zhàn)才能成為大家更加認(rèn)可的開源GPU。
生態(tài)也是RISC-V未來發(fā)展過程中面臨的重要挑戰(zhàn)。無論是x86、ARM,還是早期市場上的MIPS、PowerPC等芯片架構(gòu),決定競爭成敗的都不僅是產(chǎn)品性能本身,還包括是否具有豐富的上層應(yīng)用,以及高效的軟硬協(xié)同。平頭哥半導(dǎo)體副總裁孟建熠指出:“RISC-V將繼續(xù)向高主頻、高性能演進(jìn)。而隨著穩(wěn)定硬件的出現(xiàn),軟硬件全棧成為必然。同時,RISC-V將走向更廣的生態(tài)合作,在商業(yè)合作上涌現(xiàn)更多新模式,軟件持續(xù)豐富,應(yīng)用不斷多樣化。這是未來RISC-V發(fā)展的大趨勢?!?/span>
那么,下一步RISC-V廠商就應(yīng)當(dāng)積極加強(qiáng)自身產(chǎn)業(yè)生態(tài)的營造,使上層的軟件與應(yīng)用豐富起來。Imagination 公司技術(shù)產(chǎn)品管理高級總監(jiān)Stephen Barton指出:“GPU其實是一個很復(fù)雜的東西,不光是硬件開源了就可以直接為大家所使用,還要有相應(yīng)的DDK(設(shè)備驅(qū)動程序套件)和應(yīng)用軟件。這些軟件和DDK的開發(fā)是否是開源硬件同來源的公司提供的?優(yōu)化程度如何?能不能完整地支持各種不同的接口和各種Open GL(開放圖形庫)?這些都是很復(fù)雜的事情,絕不是一句簡單的開源就完事的,還有大量細(xì)致的工作要做,還有許多挑戰(zhàn)要面對?!?/span>
David Harold也承認(rèn),現(xiàn)在有很多與RISC-V相關(guān)的IP供應(yīng)商,但能提供GPU IP的并不多。對RISC-V來說,GPU是一個相對新的領(lǐng)域,更加需要產(chǎn)業(yè)鏈上下游的企業(yè)共同攜手,才能取得突破。但是,中國科學(xué)院軟件研究所總工程師武延軍也強(qiáng)調(diào):“雖然目前RISC-V還局限在一些對算力和軟件生態(tài)豐富程度要求不那么高的領(lǐng)域,但是它的商用時機(jī)已經(jīng)到了,以此為起點今后它的加速度是驚人的?!?/span>
用RISC-V做GPU,有好也有壞
用RISC-V做GPU,有人拍手叫好,也有人覺得多此一舉。
覺得它好的人,認(rèn)為RISC-V可以直接套用RISC-V的生態(tài),不需要完全自建GPU生態(tài),規(guī)避了與CUDA的專利對決。畢竟這是個開源的GPU IP,大家都加入到開源建設(shè)的大家庭,就能夠彌補(bǔ)GPU生態(tài)不足,也不容易踩到知識產(chǎn)權(quán)的坑。
與此同時,每個SM核的獨(dú)立性更好,可以執(zhí)行比常規(guī)GPU CUDA核更復(fù)雜的計算。如果加上MMU,未來甚至可以在每個SM核上跑操作系統(tǒng),非常有利于虛擬化。
覺得它不好的人,認(rèn)為目前的RISC-V GPU產(chǎn)品,都是目前NVIDIA的GPU的形似物,設(shè)計沒有什么太大差別,而HBM這樣的器件八成是用不起的,其它諸如Nvidia GPU里面的Texture Unit也是缺失的。
更何況,CUDA這樣的生態(tài)是很難跨越的鴻溝。有大佬曾言:“如果你看一下GPU的生態(tài)系統(tǒng),就會發(fā)現(xiàn)工具鏈?zhǔn)怯蒒VIDIA控制的,包括AMD在內(nèi)的其他競爭對手都試圖打破壟斷,但失敗了。通過擴(kuò)展RISC-V標(biāo)準(zhǔn)指令集,幾乎不可能與不斷更新的NVIDIA生態(tài)系統(tǒng)兼容。另一方面,也很難重新開始,因為英偉達(dá)擁有先發(fā)優(yōu)勢?!?/span>
所以,對于大部分RISC-V GPU來說,支持CUDA生態(tài)至關(guān)重要,我們也看到許多廠商確實也是這樣做的。因為雖然通過LLVM可能只需要重構(gòu)compiler后端,但性能好不好就是另外一回事了。
還有比較激進(jìn)的觀點,認(rèn)為從RISC-V開始做GPU,不如直接從白紙開始做。他們認(rèn)為,要使基本的RISC-V指令集適應(yīng)GPU任務(wù),需要大量投資來定義自定義ISA擴(kuò)展,構(gòu)建高度復(fù)雜的微架構(gòu)更改,并對開源工具進(jìn)行大手術(shù),使它們幾乎與原始工具相似。這樣一來,使用RISC-V的幾乎所有潛在價值,都被定制架構(gòu)比下去了。
就連上海交大也曾經(jīng)說過,“我們想做的是一個獨(dú)立完整的GPGPU架構(gòu)和指令設(shè)計,而不依賴于現(xiàn)有RISC-V CPU開源指令,這樣才能更完備地打造和融入原生的GPGPU生態(tài) ,從而與現(xiàn)有的各種CPU系統(tǒng)無縫銜接?!彼砸虼?,他們做了“青花瓷”這樣一個定制的開源GPGPU架構(gòu)。
