VeriGPU-prosjektet utvikler en åpen GPU på Verilog-språket

VeriGPU-prosjektet har som mål å lage en åpen GPU utviklet i Verilog-språket for å beskrive og modellere elektroniske systemer. I første omgang utvikles prosjektet ved hjelp av en Verilog-simulator, men når det er fullført kan det brukes til produksjon av ekte brikker. Prosjektets utvikling er distribuert under MIT-lisensen.

VeriGPU er posisjonert som en applikasjonsspesifikk prosessor (ASIC) optimalisert for å akselerere beregninger relatert til maskinlæringssystemer. Planene inkluderer kompatibilitet med PyTorchs dype maskinlæringsrammeverk og muligheten til å utvikle applikasjoner for VeriGPU ved å bruke HIP (Heterogeneous-Compute Interface) API. I fremtiden er det mulig å legge til støtte for andre APIer, som SYCL og NVIDIA CUDA.

GPU-en utvikler seg fra RISC-V-instruksjonssettet, men den resulterende interne arkitekturen til GPU-instruksjonssettet er svakt kompatibel med RISC-V ISA, siden i situasjoner der GPU-designet ikke passer inn i RISC-V-representasjonen, er det ikke ment å opprettholde RISC-V-kompatibilitet. Utviklingen er fokusert på egenskapene som kreves for maskinlæringssystemer, så for å redusere størrelsen og kompleksiteten til brikkematrisen, bruker den bare flytende kommaformatet BF16 og bare flyttallsoperasjonene som kreves for maskinlæring, som exp, log, tanh og sqrt, er tilgjengelig.

Blant de allerede tilgjengelige komponentene er GPU-kontrolleren, APU (Accelerated Processing Unit) for heltallsoperasjoner ("+",,"-","/,","*") og en enhet for flyttalloperasjoner ("+," "*") og en forgreningsblokk. For å lage applikasjoner tilbyr den en assembler og støtte for kompilering av C++-kode basert på LLVM. Blant de planlagte egenskapene er parallell utførelse av instruksjoner, caching av data og instruksjonsminne og SIMT-operasjoner (Single instruction multiple thread) fremhevet.

VeriGPU-prosjektet utvikler en åpen GPU på Verilog-språket


Kilde: opennet.ru

Legg til en kommentar