Праект VeriGPU развівае адчынены GPU на мове Verilog

Праект VeriGPU накіраваны на стварэнне адкрытага GPU, які развіваецца на мове апісання і мадэлявання электронных сістэм Verilog. Першапачаткова праект распрацоўваецца з выкарыстаннем сімулятара Verilog, але пасля давядзення да гатоўнасці зможа выкарыстоўвацца для вытворчасці рэальных чыпаў. Напрацоўкі праекту распаўсюджваюцца пад ліцэнзіяй MIT.

VeriGPU пазіцыянуецца як спецыялізаваны працэсар (ASIC), аптымізаваны для паскарэння вылічэнняў, звязаных з сістэмамі машыннага навучання. У планах згадваецца забеспячэнне сумяшчальнасці з фрэймворкам глыбіннага машыннага навучання PyTorch і рэалізацыя магчымасці распрацоўкі прыкладанняў для VeriGPU з выкарыстаннем API HIP (Heterogeneous-Compute Interface). У далейшым не выключаецца даданне падтрымкі і іншых API, такіх як SYCL і NVIDIA CUDA.

GPU развіваецца на аснове набору каманд RISC-V, але выніковая ўнутраная архітэктура набору каманд GPU слаба сумяшчальная з RISC-V ISA, бо ў сітуацыях, калі праектаванне GPU не ўкладваецца ва ўяўленне RISC-V, не ставіцца задача захаванне сумяшчальнасці з RISC-V . Распрацоўка сфакусаваная на магчымасцях, неабходных для сістэм машыннага навучання, таму для скарачэння памеру і складанасці матрыцы чыпа выкарыстоўваецца толькі фармат вылічэнняў з якая плавае коскі BF16 і даступныя толькі запатрабаваныя для машыннага навучання аперацыі з якая плавае коскі, такія як exp, log, tanh і sqrt.

З ужо даступных кампанентаў завуцца кантролер GPU, APU (Accelerated Processing Unit) для цэлалікавых аперацый («+»,»-«,»/»,»*»), блок для аперацый з якая плавае коскі («+»,»*») і блок забеспячэння галінавання. Для стварэння прыкладанняў прапануецца асэмблер і падтрымка кампіляцыі кода на C++ на базе LLVM. З запланаваных магчымасцяў вылучаюцца раўналежнае выкананне інструкцый, кэшаванне памяці дадзеных і інструкцый, аперацыі SIMT (Single instruction multiple thread).

Праект VeriGPU развівае адчынены GPU на мове Verilog


Крыніца: opennet.ru

Дадаць каментар