Projekti VeriGPU synon krijimin e një GPU-je të hapur, të zhvilluar në gjuhën e përshkrimit dhe modelimit të sistemeve elektronike Verilog. Fillimisht, projekti po ndërtohet duke përdorur simulatorin Verilog, por pasi të arrijë pjekurinë e nevojshme, do të mund të përdoret për prodhimin e çipeve reale. Zhvillimet e projektit shpërndahen nën licencën MIT.
VeriGPU pozicionohet si një procesor i specializuar (ASIC), i optimizuar për përshpejtimin e llogaritjeve që lidhen me sistemet e mësimit makinerik. Në plane përmendet sigurimi i përputhshmërisë me framework-un e mësimit të thellë PyTorch, si dhe zbatimi i mundësisë për të zhvilluar aplikacione për VeriGPU duke përdorur API HIP (Heterogeneous-Compute Interface). Në të ardhmen, nuk përjashtohet edhe shtimi i mbështetjes për API të tjera, si SYCL dhe NVIDIA CUDA.
GPU po zhvillohet mbi bazën e setit të instruksioneve RISC-V, por arkitektura e brendshme përfundimtare e setit të instruksioneve të GPU është pak e përputhshme me RISC-V ISA, pasi në rastet kur projektimi i GPU-së nuk përshtatet me modelin e RISC-V, ruajtja e përputhshmërisë me RISC-V nuk është një objektiv. Zhvillimi është i fokusuar te veçoritë e nevojshme për sistemet e mësimit makinerik, prandaj për të ulur madhësinë dhe kompleksitetin e matricës së çipit përdoret vetëm formati i llogaritjeve me presje lundruese BF16, ndërsa janë të disponueshme vetëm operacionet me presje lundruese më të kërkuara për mësimin makinerik, si exp, log, tanh dhe sqrt.
Ndër komponentët tashmë të disponueshëm përmenden kontrolluesi i GPU-së, APU (Accelerated Processing Unit) për operacione me numra të plotë («+»,»-«,»/»,»*»), blloku për operacione me presje lundruese («+»,»*») dhe blloku për menaxhimin e degëzimeve. Për krijimin e aplikacioneve ofrohen një assembler dhe mbështetje për kompilimin e kodit C++ mbi bazën e LLVM. Ndër funksionalitetet e planifikuara veçohen ekzekutimi paralel i instruksioneve, cache-i i memories së të dhënave dhe instruksioneve, si dhe operacionet SIMT (Single instruction multiple thread).

Burimi: opennet.ru
