RISC-V CPU進(jìn)入CUDA,還需要解決哪些挑戰(zhàn)?
現(xiàn)在CUDA只在x86和Arm架構(gòu)CPU上得以部署,但英偉達(dá)正在將其移植到RISC-V架構(gòu)的CPU上。
“其實(shí)我們不在乎CPU具體是什么。無(wú)論是x86、Arm或者是RISC-V,我們其實(shí)都能夠兼容這些?!庇ミ_(dá)副總裁 Frans Sijstermanns在第五屆RISC-V中國(guó)峰會(huì)上談到。
推進(jìn)CUDA向RISC-V CPU移植
英偉達(dá)與RISC-V的淵源由來(lái)已久。2017年首屆RISC-V工作坊由上海交通大學(xué)與英偉達(dá)聯(lián)合主辦,這次工作坊也是全球第六屆RISC-V研討會(huì),主題聚焦于在微控制器(MCU)中嵌入RISC-V。當(dāng)時(shí)尚未有RISC-V產(chǎn)品發(fā)布,但英偉達(dá)已看到其潛力。八年后,英偉達(dá)在集成MCU產(chǎn)品中已出貨超過(guò)10億顆RISC-V芯片,取得了顯著成功。
Frans Sijstermanns介紹了英偉達(dá)將并行計(jì)算平臺(tái)CUDA移植到RISC-V架構(gòu)的進(jìn)展。CUDA作為C和C++語(yǔ)言的擴(kuò)展,傳統(tǒng)上在x86和Arm平臺(tái)上運(yùn)行。英偉達(dá)現(xiàn)正積極將CUDA擴(kuò)展至RISC-V,旨在充分發(fā)揮其作為關(guān)鍵應(yīng)用處理器的潛力。
CUDA包括兩個(gè)主要組成部分:工具箱(Toolkit)和驅(qū)動(dòng)程序。CUDA工具箱類(lèi)似編譯器,目前正進(jìn)行RISC-V的移植工作,以實(shí)現(xiàn)編譯和運(yùn)行。
Frans Sijstermanns通過(guò)圖表展示了完整應(yīng)用運(yùn)行時(shí)環(huán)境,包括應(yīng)用軟件、第三方軟件和PyTorch等操作系統(tǒng)。核心組件如CUDA KMD(內(nèi)核模式驅(qū)動(dòng))和CUDA UMD(用戶(hù)模式驅(qū)動(dòng))正在適配RISC-V。此外,第三方和應(yīng)用軟件也需進(jìn)行移植以確保兼容性。
Frans Sijstermanns強(qiáng)調(diào)了CUDA庫(kù)在各行業(yè)中的重要性。例如,英偉達(dá)的FT庫(kù)可加速推理,其他庫(kù)則支持?jǐn)?shù)據(jù)分析和芯片制造。英偉達(dá)在過(guò)去20年中開(kāi)發(fā)了900多個(gè)庫(kù),旨在通過(guò)RISC-V落地這些資源,加速行業(yè)創(chuàng)新和技術(shù)迭代。這些庫(kù)對(duì)推動(dòng)不同領(lǐng)域的技術(shù)發(fā)展至關(guān)重要。
RISC-V CPU進(jìn)入CUDA,還需要解決哪些挑戰(zhàn)?
Frans Sijstermanns指出,RISC-V生態(tài)系統(tǒng)近年來(lái)取得長(zhǎng)足進(jìn)展。自2022年以來(lái),至2025年已有至少10項(xiàng)新規(guī)范獲得批準(zhǔn),其中包括關(guān)鍵的RVA23和服務(wù)器系統(tǒng)芯片(SoC)標(biāo)準(zhǔn)。RISC-V國(guó)際基金會(huì)官網(wǎng)列出了75個(gè)已在RISC-V上運(yùn)行的軟件包,包括Linux、工具鏈、數(shù)據(jù)庫(kù)和虛擬機(jī)。然而,這些軟件包仍需進(jìn)一步優(yōu)化和補(bǔ)丁支持。
雖然已經(jīng)有了很大的推進(jìn),然而,將RISC-V CPU引入CUDA仍存在一些挑戰(zhàn):規(guī)格方面,服務(wù)器平臺(tái)規(guī)格、性能事件、內(nèi)存標(biāo)記、機(jī)密虛擬機(jī)和矩陣尚在開(kāi)發(fā)中;軟件方面,優(yōu)化、成熟度及更高層次的應(yīng)用堆棧有待改進(jìn);主機(jī)CPU方面,缺乏RVA23合規(guī)主機(jī)CPU、AIA中斷、IOMMU、虛擬機(jī)監(jiān)控器及單核性能仍需提升。一旦生態(tài)系統(tǒng)成熟,標(biāo)準(zhǔn)CUDA發(fā)布將支持符合RISC-V服務(wù)器平臺(tái)規(guī)格和Linux操作系統(tǒng)的環(huán)境。
確保CUDA在RISC-V上的板卡可用性和兼容性是當(dāng)下的首要任務(wù)。例如,英偉達(dá)已使用阿里巴巴的C920處理器,但其尚未符合RVA23或新批準(zhǔn)的SoC標(biāo)準(zhǔn)。統(tǒng)一的虛擬內(nèi)存對(duì)于實(shí)現(xiàn)CPU與GPU之間的數(shù)據(jù)共享和一致性至關(guān)重要。Frans Sijstermanns強(qiáng)調(diào)需改進(jìn)虛擬內(nèi)存管理和板卡設(shè)計(jì),以全面支持RVA23規(guī)范。
英偉達(dá)正與生態(tài)系統(tǒng)合作伙伴密切合作,優(yōu)化CUDA以適配RISC-V,目標(biāo)是發(fā)布符合服務(wù)器平臺(tái)規(guī)范和Linux RISC-V標(biāo)準(zhǔn)的標(biāo)準(zhǔn)化版本。這需要解決系統(tǒng)級(jí)問(wèn)題并確保強(qiáng)大的CPU開(kāi)發(fā)。Frans Sijstermanns鼓勵(lì)RISC-V社區(qū)持續(xù)協(xié)作,共同推動(dòng)這些進(jìn)展。
Frans Sijstermanns總結(jié)道,英偉達(dá)致力于加速計(jì)算,強(qiáng)調(diào)對(duì)x86、Arm和RISC-V等CPU架構(gòu)的兼容性。CUDA與RISC-V服務(wù)器的整合,結(jié)合英偉達(dá)的通信處理器,旨在提供全面的硬件解決方案。從軟件到硬件的過(guò)渡需要與生態(tài)系統(tǒng)伙伴的廣泛協(xié)作以及強(qiáng)大的主機(jī)CPU支持。