El projecte VeriGPU desenvolupa una GPU oberta en llenguatge Verilog

El projecte VeriGPU té com a objectiu crear una GPU oberta desenvolupada en llenguatge Verilog per descriure i modelar sistemes electrònics. Inicialment, el projecte s'està desenvolupant mitjançant un simulador Verilog, però un cop finalitzat es pot utilitzar per a la producció de xips reals. Els desenvolupaments del projecte es distribueixen sota la llicència MIT.

VeriGPU es posiciona com un processador específic de l'aplicació (ASIC) optimitzat per accelerar els càlculs relacionats amb els sistemes d'aprenentatge automàtic. Els plans inclouen la compatibilitat amb el marc d'aprenentatge automàtic profund PyTorch i la capacitat de desenvolupar aplicacions per a VeriGPU mitjançant l'API HIP (Heterogeneous-Compute Interface). En el futur, és possible afegir suport per a altres API, com ara SYCL i NVIDIA CUDA.

La GPU evoluciona a partir del conjunt d'instruccions RISC-V, però l'arquitectura interna resultant del conjunt d'instruccions de la GPU és feblement compatible amb el RISC-V ISA, ja que en situacions en què el disseny de la GPU no encaixa en la representació RISC-V, és no està pensat per mantenir la compatibilitat RISC-V. El desenvolupament se centra en les capacitats necessàries per als sistemes d'aprenentatge automàtic, de manera que per reduir la mida i la complexitat de la matriu de xips, només utilitza el format de coma flotant BF16 i només les operacions de coma flotant necessàries per a l'aprenentatge automàtic, com ara exp, log, tanh i sqrt, estan disponibles.

Entre els components ja disponibles hi ha el controlador GPU, APU (Unitat de processament accelerat) per a operacions senceres (“+”,”-“,”/,”,”*”) i una unitat per a operacions de coma flotant (“+,” ,”*”) i un bloc de ramificació. Per crear aplicacions, ofereix un assemblador i suport per a la compilació de codi C++ basat en LLVM. Entre les capacitats planificades, es destaquen l'execució paral·lela d'instruccions, la memòria cau de dades i memòria d'instruccions i les operacions SIMT (Single instruction multiple thread).

El projecte VeriGPU desenvolupa una GPU oberta en llenguatge Verilog


Font: opennet.ru

Afegeix comentari