VeriGPU жобасы Verilog тілінде ашық GPU әзірлейді

VeriGPU жобасы электронды жүйелерді сипаттау және модельдеу үшін Verilog тілінде әзірленген ашық GPU құруға бағытталған. Бастапқыда жоба Verilog симуляторы арқылы әзірленуде, бірақ аяқталғаннан кейін оны нақты чиптерді өндіру үшін пайдалануға болады. Жобаның әзірлемелері MIT лицензиясы бойынша таратылады.

VeriGPU машиналық оқыту жүйелеріне қатысты есептеулерді жеделдету үшін оңтайландырылған қолданбалы процессор (ASIC) ретінде орналастырылған. Жоспарларға PyTorch терең машиналық оқыту жүйесімен үйлесімділік және HIP (гетерогенді есептеу интерфейсі) API арқылы VeriGPU үшін қолданбаларды әзірлеу мүмкіндігі кіреді. Болашақта SYCL және NVIDIA CUDA сияқты басқа API интерфейстерін қолдауды қосуға болады.

GPU RISC-V нұсқаулар жинағынан дамиды, бірақ GPU нұсқаулар жинағының ішкі архитектурасы RISC-V ISA-мен әлсіз үйлесімді, өйткені GPU дизайны RISC-V көрсетіліміне сәйкес келмейтін жағдайларда, ол RISC-V үйлесімділігін сақтауға арналмаған. Әзірлеу машиналық оқыту жүйелеріне қажетті мүмкіндіктерге бағытталған, сондықтан чип матрицасының өлшемін және күрделілігін азайту үшін ол тек BF16 өзгермелі нүкте пішімін және машиналық оқытуға қажетті өзгермелі нүкте операцияларын ғана пайдаланады, мысалы, exp, log, tanh және sqrt, қол жетімді.

Қазірдің өзінде қол жетімді құрамдастардың арасында GPU контроллері, бүтін операцияларға арналған APU (жеделдетілген өңдеу блогы) («+»,»-«,»/,»,»*») және өзгермелі нүкте әрекеттеріне арналған блок («+,») бар. ,”*”) және тармақталу блогы. Қолданбаларды жасау үшін ол ассемблер мен LLVM негізіндегі C++ кодын құрастыруға қолдау көрсетеді. Жоспарланған мүмкіндіктердің ішінде нұсқауларды параллель орындау, мәліметтерді және команда жадысын кэштеу және SIMT (Single Instruction multiple thread) операциялары ерекшеленген.

VeriGPU жобасы Verilog тілінде ашық GPU әзірлейді


Ақпарат көзі: opennet.ru

пікір қалдыру