VeriGPU projekt keskendub avatud GPU loomisele, mida arendatakse elektrooniliste süsteemide kirjeldamise ja modelleerimise keele Verilog alusel. Alguses arendatakse projekti Verilog simulaatori abil, kuid pärast valmimist saab seda kasutada reaalseid kiipe tootmiseks. Projekti arendused levitatakse MIT litsentsi alusel.
VeriGPU positsioneeritakse spetsialiseeritud protsessorina (ASIC), mis on optimeeritud arvutuste kiirendamiseks, mis on seotud masinõppe süsteemidega. Plaanides mainitakse ühilduvuse tagamist sügava masinõppe raamistikuga PyTorch ning rakenduste arendamise võimaluse rakendamist VeriGPU jaoks HIP (Heterogeneous-Compute Interface) API kasutades. Tulevikus ei välistata ka teiste API, nagu SYCL ja NVIDIA CUDA, toetuse lisamist.
GPU arengab end RISC-V käsuviisipõhi, kuid GPU käsuviisi lõppsisemine arhitektuur on RISC-V ISA-ga halvasti ühilduv, kuna situatsioonides, kus GPU projekteerimine ei mahtunud RISC-V ettekujutusse, ei olnud eesmärgiks RISC-V-ga ühilduvuse säilitamine. Arendamine keskendub masinõppe süsteemide jaoks vajalikele võimalustele, seetõttu kasutatakse ainult BF16 ujuvpunktilise arvutuse formaati, et vähendada kiibi suurust ja keerukust, ning on saadaval vaid masinõppes nõutavad ujuvpunktilised operatsioonid, nagu exp, log, tanh ja sqrt.
Saadaval komponentide hulka kuuluvad GPU kontroller, APU (Accelerated Processing Unit) täisarvuliste operatsioonide jaoks ("+", "-", "/", "*") ning ujuvpunkti operatsioonide plokk ("+", "*") ja harunemisse pööramine. Rakenduste loomiseks pakutakse assemblerit ja C++ koodi kompileerimise tuge LLVM-i baasil. Planeeritavate võimaluste hulka kuuluvad juhiste samaaegne täitmine, mälukvaši andmete ja juhiste jaoks, SIMT (Single instruction multiple thread) operatsioonid.

Allikas: opennet.ru
