VeriGPU-projektet utvecklar en öppen GPU i Verilog-språket

VeriGPU-projektet syftar till att skapa en öppen GPU utvecklad i Verilog-språket för att beskriva och modellera elektroniska system. Initialt utvecklas projektet med en Verilog-simulator, men när det är klart kan det användas för produktion av riktiga chips. Projektets utveckling distribueras under MIT-licensen.

VeriGPU är positionerad som en applikationsspecifik processor (ASIC) optimerad för att accelerera beräkningar relaterade till maskininlärningssystem. Planerna inkluderar kompatibilitet med PyTorchs djupa maskininlärningsramverk och möjligheten att utveckla applikationer för VeriGPU med hjälp av HIP (Heterogeneous-Compute Interface) API. I framtiden är det möjligt att lägga till stöd för andra API:er, som SYCL och NVIDIA CUDA.

GPU:n utvecklas från RISC-V-instruktionsuppsättningen, men den resulterande interna arkitekturen för GPU-instruktionsuppsättningen är svagt kompatibel med RISC-V ISA, eftersom det i situationer där GPU-designen inte passar in i RISC-V-representationen är inte avsett att upprätthålla RISC-V-kompatibilitet. Utvecklingen är fokuserad på de funktioner som krävs för maskininlärningssystem, så för att minska storleken och komplexiteten på chipmatrisen använder den bara flyttalsformatet BF16 och endast flyttalsoperationerna som krävs för maskininlärning, såsom exp, log, tanh och sqrt, är tillgängliga.

Bland de redan tillgängliga komponenterna finns GPU-styrenheten, APU (Accelerated Processing Unit) för heltalsoperationer ("+",,"-","/,","*") och en enhet för flyttalsoperationer ("+," ”*”) och ett grenblock. För att skapa applikationer erbjuder den en assembler och stöd för att kompilera kod i C++ baserat på LLVM. Bland de planerade funktionerna markeras parallell exekvering av instruktioner, cachning av data och instruktionsminne och SIMT-operationer (Single instruction multiple thread).

VeriGPU-projektet utvecklar en öppen GPU i Verilog-språket


Källa: opennet.ru

Lägg en kommentar