免费观看黄a一级视频_一级毛片看看_亚洲AⅤ无码日韩AV无码网站_国产未成满18禁止_亚洲无码免费网站_午夜影院播放版_97亚洲精品国偷自产在_国产毛片一区二区三区va在线_久久www免费人成人片_成人网欧美在线视频

/ EN
13922884048

資訊中心

information centre
/
/

CUDA被移植,基于RISC-V的GPU有戲了?

發(fā)布時(shí)間:2022-03-17作者來源:薩科微瀏覽:2050

RISC-V 一直是計(jì)算領(lǐng)域最熱門的話題之一,因?yàn)檫@個(gè)指令集架構(gòu) (ISA) 允許進(jìn)行廣泛的定制并且易于理解,此外還有整個(gè)開源、免許可的好處。甚至還有一個(gè)基于 RISC-V ISA 設(shè)計(jì)通用 GPU 的項(xiàng)目,現(xiàn)在我們正在見證英偉達(dá)的 CUDA 軟件庫(kù)移植到 Vortex RISC-V GPGPU 平臺(tái)。


Nvidia 的 CUDA(計(jì)算統(tǒng)一設(shè)備架構(gòu))代表了一個(gè)獨(dú)特的計(jì)算平臺(tái)和應(yīng)用程序編程接口 (API),它運(yùn)行在 Nvidia 的顯卡系列上。當(dāng)為 CUDA 支持編寫應(yīng)用程序時(shí),只要系統(tǒng)發(fā)現(xiàn)基于 CUDA 的 GPU,它就會(huì)獲得大量的代碼 GPU 加速。


今天,研究人員研究了一種在名為 Vortex的RISC-V GPGPU 項(xiàng)目上啟用 CUDA 軟件工具包支持的方法。Vortex RISC-V GPGPU 旨在提供基于 RV32IMF ISA 的全系統(tǒng) RISC-V GPU。這意味著 32 位內(nèi)核可以從 1 核擴(kuò)展到 32 核 GPU 設(shè)計(jì)。它支持 OpenCL 1.2 圖形 API,今天它還支持一些 CUDA 操作。


研究人員解釋說:“……在這個(gè)項(xiàng)目中,我們提出并構(gòu)建了一個(gè)pipeline來支持端到端的 CUDA 遷移:pipeline接受 CUDA 源代碼作為輸入并在擴(kuò)展的 RISC-V GPU 架構(gòu)上執(zhí)行它們。我們的pipeline包括幾個(gè)步驟:將CUDA源代碼翻譯成NVVM IR,將NVVM IR轉(zhuǎn)換成SPIR-V IR,將SPIR-V IR轉(zhuǎn)發(fā)成POCL得到RISC-V二進(jìn)制文件,最后在擴(kuò)展的RISC-V GPU上執(zhí)行二進(jìn)制文件架構(gòu)。”



這個(gè)過程在上圖中可視化,顯示了讓它工作的所有步驟。簡(jiǎn)單來說,CUDA 源代碼以稱為 NVVM IR 的中間表示 (IR) 格式表示,基于開源 LLVM IR。它后來被轉(zhuǎn)換為標(biāo)準(zhǔn)便攜式中間表示 (SPIR-V) IR,然后將其轉(zhuǎn)發(fā)到 OpenCL 標(biāo)準(zhǔn)的便攜式開源實(shí)現(xiàn)中,稱為 POCL。由于 Vortex 支持 OpenCL,因此它提供了受支持的代碼,并且可以毫無(wú)問題地執(zhí)行它。


有關(guān)此復(fù)雜過程的更多詳細(xì)信息,請(qǐng)點(diǎn)擊下方閱讀原文。重要的是,您必須感謝這些研究人員為使 CUDA 能夠在 RISC-V GPGPU 上運(yùn)行所做的努力。雖然這只是目前的一小步,但它可能是 RISC-V 用于加速計(jì)算應(yīng)用程序時(shí)代的開始,這與 Nvidia 今天的 GPU 陣容非常相似。


延伸閱讀:RISC-V能改變GPU嗎?


RISC-V能處理GPU的事務(wù)嗎?這項(xiàng)工作正在進(jìn)行中,可以通過創(chuàng)建一個(gè)具有自定義可編程性和可擴(kuò)展性的小型區(qū)域高效設(shè)計(jì)來實(shí)現(xiàn)這一目標(biāo)。  
  任何研究過GPU架構(gòu)的人都知道這是矢量處理器的SIMD構(gòu)造。它是一種超高效的并行處理器,已用于從運(yùn)行模擬和出色的游戲到教導(dǎo)機(jī)器人如何獲取AI以及幫助聰明的人操縱股票市場(chǎng)的所有事物。它甚至在我寫這篇文章的時(shí)候檢查我的語(yǔ)法。  
  但GPU領(lǐng)域已經(jīng)成為一個(gè)私有領(lǐng)域,其內(nèi)部工作是由AMD、Intel、Nvidia等開發(fā)者的IP和秘密[敏感詞]所完成的。如果有一套新的圖形指令設(shè)計(jì)為3D圖形和媒體處理呢?嗯,可能有。  
  新的指令正在RISC-V基本向量指令集上構(gòu)建。他們將根據(jù)核心RISC-V ISA的精神,添加對(duì)特定于圖形的新數(shù)據(jù)類型的支持,作為分層擴(kuò)展。支持向量,先驗(yàn)數(shù)學(xué),像素和紋理以及Z / Frame緩沖區(qū)操作。它可以是融合的CPU-GPU ISA。lilibrary -RISC 3D組稱它為RV64X (圖1) ,因?yàn)橹噶顚⑹?4位長(zhǎng)(32位將不足以支持一個(gè)健壯的ISA)。  
 

圖1.RV64X圖形處理器除了專用的紋理單元和功能塊外,還包括多個(gè)DSP。
 
  該組織表示,他們的動(dòng)機(jī)和目標(biāo)是希望創(chuàng)造一個(gè)小型、高效的設(shè)計(jì),具有自定義的可編程性和可擴(kuò)展性。它應(yīng)該提供低成本的IP所有權(quán)和開發(fā),而不是與商業(yè)產(chǎn)品競(jìng)爭(zhēng)。它可以在FPGA和ASIC目標(biāo)上實(shí)現(xiàn),并且是免費(fèi)和開源的。最初的設(shè)計(jì)目標(biāo)是低功耗微控制器,將兼容Khronos Vulkan,并支持其他api (OpenGL, DirectX等)。  
               

GPU + RISC-V


目標(biāo)硬件將有一個(gè)GPU功能單元和一個(gè)RISC-V核心。該組合以64位指令編碼為標(biāo)量指令的處理器的形式出現(xiàn)。關(guān)鍵在于編譯器將從帶前綴的標(biāo)量操作碼生成SIMD指令。其他功能包括可變問題、基于謂詞的SIMD后端;分支跟蹤;精確的異常;和矢量前端。設(shè)計(jì)將包括一個(gè)16位定點(diǎn)版本和一個(gè)32位浮點(diǎn)版本。前者適用于FPGA實(shí)現(xiàn)。  
  該團(tuán)隊(duì)說:“不需要使用RPC / IPC調(diào)用機(jī)制來將3D API調(diào)用發(fā)送到未使用的CPU內(nèi)存空間或從未使用的CPU內(nèi)存空間發(fā)送到GPU內(nèi)存空間,反之亦然,”  
  “融合” CPU-GPU ISA方法的優(yōu)勢(shì)在于可以在微代碼中使用標(biāo)準(zhǔn)圖形管道,并且可以支持自定義著色器。甚至可以包括光線追蹤擴(kuò)展。  
  該設(shè)計(jì)將采用Vblock格式(來自Libre GPU的努力):  
 
  • 這有點(diǎn)像VLIW(但不是真的)。
  • 指令塊之前帶有寄存器標(biāo)記,這些標(biāo)記為該塊內(nèi)的標(biāo)量指令提供了額外的上下文。
  • 子塊包括向量長(zhǎng)度,旋轉(zhuǎn),向量/寬度覆蓋和預(yù)測(cè)。
  • 所有這些都添加到標(biāo)量操作碼中!
  • 沒有矢量操作碼(也不需要任何操作碼)。
  • 在矢量上下文中,它是這樣的:如果標(biāo)量操作碼使用寄存器,并且該寄存器在矢量上下文中列出,則將激活矢量模式。
  • 激活會(huì)導(dǎo)致硬件級(jí)別的for循環(huán)發(fā)出多個(gè)連續(xù)的標(biāo)量運(yùn)算(而不只是一個(gè))。
  • 實(shí)現(xiàn)者可以自由地以他們想要的任何方式來實(shí)現(xiàn)循環(huán)-SIMD,多問題,單執(zhí)行;幾乎任何東西。

  RV32-V向量處理2到4個(gè)元素的8位,16位或32位/元素的向量操作。對(duì)于用于64位和128位固定和浮點(diǎn)XYZW點(diǎn)的常規(guī)3D圖形渲染管線,還將有專門的指令。8、16、24和32位RGBA像素; 8位,每個(gè)組件16位UVW紋素;以及燈光和材質(zhì)設(shè)置(Ia,ka,Id,kd,Is,ks等)。  
  屬性向量表示為4×4矩陣。該系統(tǒng)將本地支持2×2和3×3矩陣。向量支持也可能適用于使用AI和機(jī)器學(xué)習(xí)應(yīng)用程序中常見的8位整數(shù)數(shù)據(jù)類型的數(shù)值模擬。  
  設(shè)計(jì)中可以包含自定義光柵化器,例如樣條線,SubDiv曲面和面片。該方法還允許包含自定義管線階段,自定義幾何/像素/幀緩沖階段,自定義細(xì)分器和自定義實(shí)例化操作。  
             

RV64X


RV64X參考實(shí)現(xiàn)包括:
 
 
  • 指令/數(shù)據(jù)SRAM緩存(32 kB)

  • 微碼SRAM(8 kB)

  • 雙功能指令解碼器(實(shí)現(xiàn)RV32V和X的硬連線;用于自定義ISA的微編碼指令解碼器)

  • 四向量ALU(32位/ ALU-固定/浮動(dòng))

  • 136位寄存器文件(1k個(gè)元素)

  • 特殊功能單元

  • 紋理單位

  • 可配置的本地幀緩沖區(qū)


  RV64X是可擴(kuò)展的架構(gòu)(圖2)。它的融合方法是新的,對(duì)于自定義數(shù)據(jù)類型使用可配置寄存器也是如此。用戶定義的基于SRAM的微代碼可用于實(shí)現(xiàn)擴(kuò)展,例如自定義光柵化器階段,光線跟蹤,機(jī)器視覺和機(jī)器學(xué)習(xí)。單一設(shè)計(jì)可以應(yīng)用于獨(dú)立的圖形微控制器或具有可擴(kuò)展著色器單元的多核解決方案。  
 

圖2.RV64X可以從簡(jiǎn)單的低端設(shè)計(jì)(左)擴(kuò)展到多核解決方案(右)。  
  RISC-V的圖形擴(kuò)展可以解決可伸縮性和多語(yǔ)言問題。這可以實(shí)現(xiàn)更高級(jí)別的用例,從而帶來更多的創(chuàng)新。  
             

下一步是什么


RV64X規(guī)范仍在早期開發(fā)中,可能會(huì)發(fā)生變化。正在建立一個(gè)討論論壇。近期目標(biāo)是使用指令集模擬器構(gòu)建示例實(shí)現(xiàn)。這將在使用開放源代碼IP和設(shè)計(jì)為開放源代碼項(xiàng)目的自定義IP的FPGA實(shí)現(xiàn)上運(yùn)行。





免責(zé)聲明:本文轉(zhuǎn)載自“半導(dǎo)體行業(yè)觀察”,本文僅代表作者個(gè)人觀點(diǎn),不代表薩科微及行業(yè)觀點(diǎn),只為轉(zhuǎn)載與分享,支持保護(hù)知識(shí)產(chǎn)權(quán),轉(zhuǎn)載請(qǐng)注明原出處及作者,如有侵權(quán)請(qǐng)聯(lián)系我們刪除。

公司電話:+86-0755-83044319
傳真/FAX:+86-0755-83975897
郵箱:1615456225@qq.com
QQ:3518641314 李經(jīng)理  

QQ:332496225   丘經(jīng)理

地址:深圳市龍華新區(qū)民治大道1079號(hào)展滔科技大廈C座809室

服務(wù)熱線

0755-83044319

霍爾元件咨詢

肖特基二極管咨詢

TVS/ESD咨詢

獲取產(chǎn)品資料

客服微信

微信服務(wù)號(hào)