Projekat VeriGPU najavio je razvoj otvorenog GPU-a

Projekat VeriGPU predstavljen pre nekoliko dana je započeo rad na razvoju otvorenog GPU-a, koji ima za cilj da se razvije u okviru jezika modeliranja i opisa elektronskih sistema Verilog.

Za one koji nisu upoznati sa VeriGPU-om, trebali biste znati da je on pozicioniran kao Application Specific Processor (ASIC) optimiziran da ubrza proračune vezane za sisteme mašinskog učenja.

način za početak, projekat se razvija pomoću simulatora Verilog, ali nakon što je spreman, može se koristiti za proizvodnju pravih čipova.

Planovi uključuju podršku za PyTorch okvir za duboko učenje i mogućnost razvoja aplikacija za VeriGPU koristeći HIP (Heterogeni računarski interfejs) API. U budućnosti, ugradnja podrške za druge API-je, kao što su SYCL i NVIDIA CUDA, nije isključena.

Važno je to napomenuti razvoj ovog GPU-a je usmjeren direktno na obuku mašinskog učenja. Dakle, idealno bi trebalo da podržava trenutne okvire za mašinsko učenje kao što su PyTorch i Tensorflow, što znači da gotovo sigurno treba da podržava NVIDIA CUDA ili AMD HIP.

Iako se spominje i to Znam da bih mogao implementirati OpenCL ili SYCL interfejs, iako je podrška za glavne okvire trenutno ograničena. Postoji namjenski OpenCL okvir dubokog učenja u DeepCL-u, ali on ima relativno ograničen skup slojeva neuronske mreže i mogućih mrežnih topologija, u poređenju sa PyTorch-om i Tensorflow-om.

Trenutno nemamo namjeru implementirati izvršenje van reda, tj. pokretanje jedne instrukcije prije nego što je započela prethodna, jer je to nezgodno u scenariju višenitnog rada sa jednom instrukcijom (SIMT) i zato što jezgre koriste više područja matrice. , a samim tim i manji broj (ili skuplji).

S druge strane, mi ćemo implementirati paralelno izvršavanje instrukcija, gdje započinjemo instrukciju dok se prethodna instrukcija još uvijek izvršava. Ovo je standardno i prilično lagano, ne zauzima previše površine matrice.

Trenutno nije implementirano nikakvo keširanje bilo koje vrste (nema nivoa 1, nema nivoa 2, nema nivoa 3, čak ni keširanje instrukcija :P). Budući da namjeravam napraviti GPU, koji ima drugačiji keš mehanizam od CPU-a, razmislit ću o tome kada počne više da liči na GPU.

GPU se razvija na osnovu RISC-V skupa instrukcija, ali rezultirajuća arhitektura internog skupa instrukcija GPU-a je loše kompatibilna sa RISC-V ISA, jer u situacijama kada raspored GPU-a nije u skladu s RISC-V renderiranjem, pored toga što ne postavlja zadatak održavanja kompatibilnosti sa RISC-V .

Od razvoja fokusira se na sposobnosti potrebne za sisteme mašinskog učenja, stoga, da bi se smanjila veličina i složenost niza čipova, koristi se samo BF16 format s pomičnim zarezom, a samo operacije s pomičnim zarezom koje su potrebne za strojno učenje, kao što su exp, log, tanh i sqrt su dostupan.

Među već dostupnim komponentama, na primjer, GPU drajver, APU (Ubrzana procesorska jedinica) za cjelobrojne operacije («+»,»-«,»/»,»*»), jedinica za operacije s pomičnim zarezom («+ », »*») i granu jedinicu, kao i podršku za HIP kompajler.

Za kreiranje aplikacija asembler i podrška za kompajliranje C++ koda baziran na LLVM. Od očekivanih karakteristika izdvajaju se paralelno izvršavanje instrukcija, keširanje podataka i memorija instrukcija, SIMT (Single Instruction Multiple Thread) operacije.

Na kraju, ako ste zainteresirani da saznate više o tome o razvoju ovog open source GPU-a, treba da znate da se razvoj projekta distribuira pod MIT licencom i možete konsultovati kod, kao i napredak projekta od sljedeći link.


Ostavite komentar

Vaša e-mail adresa neće biti objavljena. Obavezna polja su označena sa *

*

*

  1. Odgovoran za podatke: AB Internet Networks 2008 SL
  2. Svrha podataka: Kontrola neželjene pošte, upravljanje komentarima.
  3. Legitimacija: Vaš pristanak
  4. Komunikacija podataka: Podaci se neće dostavljati trećim stranama, osim po zakonskoj obavezi.
  5. Pohrana podataka: Baza podataka koju hostuje Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.