It VeriGPU-projekt ûntwikkelet in iepen GPU yn 'e Verilog-taal

It VeriGPU-projekt hat as doel om in iepen GPU te meitsjen ûntwikkele yn 'e Verilog elektroanyske systeembeskriuwing en modelleartaal. Yn it earstoan wurdt it projekt ûntwikkele mei de Verilog-simulator, mar nei't it klear is, kin it brûkt wurde om echte chips te produsearjen. Projektûntwikkelingen wurde ferspraat ûnder de MIT-lisinsje.

De VeriGPU is gepositioneerd as in Application Specific Processing Unit (ASIC) optimalisearre om berekkeningen te fersnellen yn ferbân mei masine-learsystemen. De plannen neame it leverjen fan kompatibiliteit mei it PyTorch-deep machine learning framework en de mooglikheid om applikaasjes te ûntwikkeljen foar de VeriGPU mei de HIP (Heterogeneous-Compute Interface) API. Yn 'e takomst is de tafoeging fan stipe foar oare API's, lykas SYCL en NVIDIA CUDA, net útsletten.

De GPU evoluearret basearre op de RISC-V ynstruksje set, mar de resultearjende ynterne arsjitektuer fan de GPU ynstruksje set is min kompatibel mei de RISC-V ISA, sûnt yn situaasjes dêr't it ûntwerp fan de GPU net past yn de RISC-V fertsjintwurdiging , de taak om kompatibiliteit te behâlden mei RISC-V is net ynsteld. . De ûntwikkeling is rjochte op 'e mooglikheden dy't nedich binne foar systemen foar masine-learen, dêrom, om de grutte en kompleksiteit fan' e chipmatrix te ferminderjen, wurdt allinich it BF16-floating-point-formaat brûkt, en allinich driuwende punt-operaasjes dy't yn fraach binne foar masine-learen, lykas exp, log, tanh en sqrt, binne beskikber.

Fan 'e al beskikbere komponinten is de GPU-controller, APU (Accelerated Processing Unit) foar integer operaasjes ("+", "-", "/", "*"), blok foar driuwende punt operaasjes ("+", "*" ) en in branching unit. Om applikaasjes te meitsjen, wurde in assembler en stipe foar it kompilearjen fan C ++-koade oanbean op basis fan LLVM. Fan 'e plande funksjes, parallele útfiering fan ynstruksjes, caching fan gegevens en ynstruksjeûnthâld, steane SIMT-operaasjes (Single ynstruksje meardere thread) út.

It VeriGPU-projekt ûntwikkelet in iepen GPU yn 'e Verilog-taal


Boarne: opennet.ru

Add a comment