Iṣẹ akanṣe VeriGPU ṣe idagbasoke GPU ṣiṣi ni ede Verilog

Ise agbese VeriGPU ni ero lati ṣẹda GPU ṣiṣi silẹ ti o dagbasoke ni apejuwe awọn ọna ṣiṣe itanna Verilog ati ede awoṣe. Ni ibẹrẹ, iṣẹ akanṣe naa ti ni idagbasoke ni lilo simulator Verilog, ṣugbọn lẹhin ti o mu wa si imurasilẹ, o le ṣee lo lati ṣe awọn eerun gidi. Awọn idagbasoke ise agbese ti pin labẹ iwe-aṣẹ MIT.

VeriGPU wa ni ipo bi Ẹka Ilọsiwaju Ohun elo kan (ASIC) iṣapeye lati yara awọn iṣiro-iṣiro ti o ni ibatan si awọn eto ikẹkọ ẹrọ. Awọn ero naa mẹnuba pipese ibamu pẹlu ilana ikẹkọ ẹrọ jinlẹ PyTorch ati iṣeeṣe ti idagbasoke awọn ohun elo fun VeriGPU ni lilo HIP (Interface-Compute Interface) API. Ni ojo iwaju, afikun ti atilẹyin fun awọn API miiran, gẹgẹbi SYCL ati NVIDIA CUDA, ko ṣe akoso.

GPU ṣe agbekalẹ ti o da lori eto ilana RISC-V, ṣugbọn faaji ti inu inu ti eto ẹkọ GPU ko dara ni ibamu pẹlu RISC-V ISA, nitori ni awọn ipo nibiti apẹrẹ ti GPU ko baamu si aṣoju RISC-V. , iṣẹ ṣiṣe ti mimu ibamu pẹlu RISC-V ko ṣeto. Idagbasoke naa wa ni idojukọ lori awọn agbara ti o nilo fun awọn eto ikẹkọ ẹrọ, nitorinaa, lati dinku iwọn ati idiju ti matrix chirún, ọna kika oju omi lilefoofo BF16 nikan ni a lo, ati awọn iṣẹ aaye lilefoofo nikan ti o wa ni ibeere fun ikẹkọ ẹrọ, gẹgẹbi exp, log, tanh ati sqrt, wa.

Ninu awọn paati ti o wa tẹlẹ, oluṣakoso GPU, APU (Accelerated Processing Unit) fun awọn iṣẹ odidi (“+”, “-“, “/”, “*”), Àkọsílẹ fun awọn iṣẹ aaye lilefoofo (“+”, “*” ) ati ẹka ẹka kan. Lati ṣẹda awọn ohun elo, olupejọ ati atilẹyin fun iṣakojọpọ koodu C ++ ti o da lori LLVM ni a funni. Ninu awọn ẹya ara ẹrọ ti a gbero, ipaniyan ti o jọra ti awọn ilana, caching ti data ati iranti itọnisọna, awọn iṣẹ SIMT (o tẹle itọnisọna kan ṣoṣo) duro jade.

Iṣẹ akanṣe VeriGPU ṣe idagbasoke GPU ṣiṣi ni ede Verilog


orisun: opennet.ru

Fi ọrọìwòye kun