VeriGPU projekt on suunatud avatud GPU loomisele, kasutades elektrooniliste sĂŒsteemide kirjeldamise ja modelleerimise keelt Verilog. Alguses arendatakse projekti kasutades Verilog simulaatorit, kuid pĂ€rast valmimist saab seda kasutada reaalse chip'i tootmiseks. Projekti arengud levitatakse MIT litsentsi alusel.
VeriGPU positsioneeritakse spetsialiseeritud protsessorina (ASIC), mis on optimeeritud masinĂ”ppe sĂŒsteemidega seotud arvutuste kiirendamiseks. Plaanides mainitakse ĂŒhilduvuse tagamist sĂŒvamasinĂ”ppe raamistiku PyTorchiga ning vĂ”imaluse rakenduste arendamiseks VeriGPU-le HIP (Heterogeneous-Compute Interface) API kasutamise kaudu. Tulevikus ei ole vĂ€listatud ka teiste API-de, nagu SYCL ja NVIDIA CUDA, toe lisamine.
GPU areneb RISC-V kĂ€skude komplekti pĂ”hjal, kuid lĂ”plik sisemine arhitektuur on RISC-V ISA-ga halvasti ĂŒhilduv, kuna olukordades, kus GPU projekteerimine ei vasta RISC-V ettekujutusele, ei seatud eesmĂ€rgiks ĂŒhilduvuse sĂ€ilitamine RISC-V-ga. Arendust on keskendunud masinĂ”ppe sĂŒsteemide jaoks vajalikele vĂ”imalustele, seetĂ”ttu kasutatakse kiibi mahtude ja keerukuse vĂ€hendamiseks ainult ujuva komaga arvutuste formaati BF16 ning on saadaval vaid masinĂ”ppes nĂ”utavad ujuva komaga toimingud, nagu exp, log, tanh ja sqrt.
Juba olemasolevaid komponente on GPU kontroller, APU (kiirusprotsessor) tÀisarvute operatsioonide jaoks ("+", "-", "/", "*") ning ujuva komaga toimingute plokk ("+", "*") ja harupunktide toetamise plokk. Rakenduste loomiseks pakutakse assemblerit ja C++ koodi kompileerimise toetust LLVM baasil. Plaanitud vÔimalustest on vÀlja toodud juhiste paralleelne tÀitmine, andmete ja juhiste mÀlu vahemÀlu ning SIMT (Single instruction multiple thread) toimingud.

Allikas: opennet.ru
