Mae prosiect VeriGPU yn datblygu GPU agored yn yr iaith Verilog

Nod prosiect VeriGPU yw creu GPU agored a ddatblygwyd yn nisgrifiad systemau electronig Verilog ac iaith modelu. I ddechrau, mae'r prosiect yn cael ei ddatblygu gan ddefnyddio'r efelychydd Verilog, ond ar ôl dod ag ef i barodrwydd, gellir ei ddefnyddio i gynhyrchu sglodion go iawn. Mae datblygiadau prosiect yn cael eu dosbarthu o dan y drwydded MIT.

Mae'r VeriGPU wedi'i lleoli fel Uned Brosesu Penodol i Gymhwysiad (ASIC) wedi'i optimeiddio i gyflymu cyfrifiannau sy'n gysylltiedig â systemau dysgu peiriannau. Mae'r cynlluniau'n sôn am ddarparu cysondeb â fframwaith dysgu peiriannau dwfn PyTorch a'r posibilrwydd o ddatblygu cymwysiadau ar gyfer y VeriGPU gan ddefnyddio'r API HIP (Rhyngwyneb Cyfrifiadurol Heterogenaidd). Yn y dyfodol, nid yw ychwanegu cefnogaeth ar gyfer APIs eraill, megis SYCL a NVIDIA CUDA, yn cael ei ddiystyru.

Mae'r GPU yn esblygu yn seiliedig ar y set gyfarwyddiadau RISC-V, ond mae pensaernïaeth fewnol canlyniadol y set gyfarwyddiadau GPU yn gydnaws iawn â'r ISA RISC-V, oherwydd mewn sefyllfaoedd lle nad yw dyluniad y GPU yn cyd-fynd â chynrychiolaeth RISC-V , nid yw'r dasg o gynnal cydnawsedd â RISC-V wedi'i gosod. . Mae'r datblygiad yn canolbwyntio ar y galluoedd sydd eu hangen ar gyfer systemau dysgu peiriannau, felly, i leihau maint a chymhlethdod y matrics sglodion, dim ond fformat pwynt arnawf BF16 a ddefnyddir, a dim ond gweithrediadau pwynt arnawf y mae galw amdanynt ar gyfer dysgu peiriannau, megis exp, log, tanh a sqrt, ar gael.

O'r cydrannau sydd eisoes ar gael, mae'r rheolydd GPU, APU (Uned Brosesu Carlam) ar gyfer gweithrediadau cyfanrif (“+”, “-“, “/”, “*”), bloc ar gyfer gweithrediadau pwynt arnawf (“+”, “*” ) ac uned ganghennog. I greu cymwysiadau, cynigir cydosodwr a chefnogaeth ar gyfer llunio cod C++ yn seiliedig ar LLVM. O'r nodweddion a gynlluniwyd, mae gweithredu cyfarwyddiadau yn gyfochrog, storio data a chof cyfarwyddo, gweithrediadau SIMT (edau lluosog cyfarwyddyd sengl) yn sefyll allan.

Mae prosiect VeriGPU yn datblygu GPU agored yn yr iaith Verilog


Ffynhonnell: opennet.ru

Ychwanegu sylw