蜜臀av一区二区三区人妻在线_国产91精品拍在线观看_日韩亚洲欧美精品综合_国产三区在线成人av_亚洲成色在线冲田杏梨_91麻豆视频国产_国产精品一区二区无码免费看片_古代级毛片免费观看_亚洲精品色在线网站_99久久精品免费看一

/ EN
13922884048

資訊中心

information centre
/
/

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

發布時間:2022-03-17作者來源:薩科微瀏覽:2018

RISC-V 一直是計算領域最熱門的話題之一,因為這個指令集架構 (ISA) 允許進行廣泛的定制并且易于理解,此外還有整個開源、免許可的好處。甚至還有一個基于 RISC-V ISA 設計通用 GPU 的項目,現在我們正在見證英偉達的 CUDA 軟件庫移植到 Vortex RISC-V GPGPU 平臺。


Nvidia 的 CUDA(計算統一設備架構)代表了一個獨特的計算平臺和應用程序編程接口 (API),它運行在 Nvidia 的顯卡系列上。當為 CUDA 支持編寫應用程序時,只要系統發現基于 CUDA 的 GPU,它就會獲得大量的代碼 GPU 加速。


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


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



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


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


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


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

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

GPU + RISC-V


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

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

RV64X


RV64X參考實現包括:
 
 
  • 指令/數據SRAM緩存(32 kB)

  • 微碼SRAM(8 kB)

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

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

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

  • 特殊功能單元

  • 紋理單位

  • 可配置的本地幀緩沖區


  RV64X是可擴展的架構(圖2)。它的融合方法是新的,對于自定義數據類型使用可配置寄存器也是如此。用戶定義的基于SRAM的微代碼可用于實現擴展,例如自定義光柵化器階段,光線跟蹤,機器視覺和機器學習。單一設計可以應用于獨立的圖形微控制器或具有可擴展著色器單元的多核解決方案。  
 

圖2.RV64X可以從簡單的低端設計(左)擴展到多核解決方案(右)。  
  RISC-V的圖形擴展可以解決可伸縮性和多語言問題。這可以實現更高級別的用例,從而帶來更多的創新。  
             

下一步是什么


RV64X規范仍在早期開發中,可能會發生變化。正在建立一個討論論壇。近期目標是使用指令集模擬器構建示例實現。這將在使用開放源代碼IP和設計為開放源代碼項目的自定義IP的FPGA實現上運行。





免責聲明:本文轉載自“半導體行業觀察”,本文僅代表作者個人觀點,不代表薩科微及行業觀點,只為轉載與分享,支持保護知識產權,轉載請注明原出處及作者,如有侵權請聯系我們刪除。

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

QQ:332496225   丘經理

地址:深圳市龍華新區民治大道1079號展滔科技大廈C座809室

服務熱線

0755-83044319

霍爾元件咨詢

肖特基二極管咨詢

TVS/ESD咨詢

獲取產品資料

客服微信

微信服務號