VeriGPU-projektet udvikler en åben GPU i Verilog-sproget

VeriGPU-projektet har til formål at skabe en åben GPU udviklet i Verilog elektroniske systembeskrivelses- og modelleringssprog. I første omgang udvikles projektet ved hjælp af Verilog-simulatoren, men efter at det er klargjort, kan det bruges til at producere rigtige chips. Projektudviklinger distribueres under MIT-licensen.

VeriGPU'en er placeret som en Application Specific Processing Unit (ASIC), der er optimeret til at accelerere beregninger relateret til maskinlæringssystemer. Planerne nævner at give kompatibilitet med PyTorchs dybe maskinlæringsramme og muligheden for at udvikle applikationer til VeriGPU'en ved hjælp af HIP (Heterogeneous-Compute Interface) API. I fremtiden er tilføjelsen af ​​understøttelse af andre API'er, såsom SYCL og NVIDIA CUDA, ikke udelukket.

GPU'en udvikler sig baseret på RISC-V-instruktionssættet, men den resulterende interne arkitektur af GPU-instruktionssættet er dårligt kompatibel med RISC-V ISA, da i situationer, hvor designet af GPU'en ikke passer ind i RISC-V-repræsentationen , er opgaven med at opretholde kompatibilitet med RISC-V ikke fastsat. . Udviklingen er fokuseret på de muligheder, der er nødvendige for maskinlæringssystemer, derfor, for at reducere størrelsen og kompleksiteten af ​​chipmatricen, er det kun BF16 floating-point-formatet, der anvendes, og kun floating-point-operationer, der efterspørges til machine learning, som f.eks. exp, log, tanh og sqrt, er tilgængelige.

Af de allerede tilgængelige komponenter er GPU-controlleren, APU (Accelerated Processing Unit) til heltalsoperationer ("+", "-", "/", "*"), blok for flydende kommaoperationer ("+", "*" ) og en forgreningsenhed. For at oprette applikationer tilbydes en assembler og support til kompilering af C++-kode baseret på LLVM. Af de planlagte funktioner, parallel udførelse af instruktioner, caching af data og instruktionshukommelse, skiller SIMT-operationer (Single instruction multiple thread) sig ud.

VeriGPU-projektet udvikler en åben GPU i Verilog-sproget


Kilde: opennet.ru

Tilføj en kommentar