Група даследчыкаў з Тэхналагічнага інстытута Джорджыі развівае даследчы праект Vortex, які прапануе адкрыты GPGPU на базе архітэктуры набору каманд RISC-V, накіраваны на выкананне паралельных вылічэнняў з выкарыстаннем API OpenCL і мадэлі выканання SIMT (Single Instruction, Multiple Threads), а таксама на правядзенне даследаванняў у галіне 3D-графікі. Праект пакуль знаходзіцца на стадыі прататыпа, які працуе пры дапамозе FPGA. Схемы, апісанні апаратных блокаў на мове Verilog, сімулятар, драйверы і спадарожная праектная дакументацыя распаўсюджваюцца пад ліцэнзіяй BSD.
У бягучым выглядзе падаецца тыпавы ISA RISC-V, пашыраны некаторымі дадатковымі інструкцыямі, неабходнымі для падтрымкі функцый GPU і кіраванні струменямі. Пры распрацоўцы аўтары праекта паспрабавалі звесці да мінімуму змены ў архітэктуры набору каманд RISC-V, па магчымасці выкарыстоўваючы ўжо наяўныя вектарныя інструкцыі. Падобны падыход таксама прымяняецца ў праекце RV64X, які таксама развівае адкрыты GPU на базе тэхналогій RISC-V.

Магчымасці Vortex па апрацоўцы графікі пакуль абмежаваныя. Заяўлена аб рэалізацыі падтрымкі OpenGL ES на базе Vortex, але ў самім GPU пакуль рэалізавана толькі інструкцыя "tex" для паскарэння апрацоўкі тэкстур, якая выконваецца на ўзроўні фрагментнага шэйдара. Убудаваны растэрызатар адсутнічае - усё апрацоўка геаметрычных аперацый выконваецца на баку сістэмнага CPU, а базавыя прымітывы для кропак, ліній і трыкутнікаў, а таксама апрацоўка фрагментаў, глыбіні і празрыстасці, рэалізаваная з выкарыстаннем ядра OpenCL.

У будучыні плануецца рэалізаваць спецыфічныя для апрацоўкі графікі пашырэння ISA, дадаць падтрымку API CUDA і Vulkan, а таксама пашырэнні для паскарэння сістэм машыннага навучання і аналізу даных. Для распрацоўкі прыкладанняў прапануецца інструментар, які ўключае адаптаваныя для працы з Vortex варыянты PoCL (кампілятар і runtime OpenCL), LLVM/Clang, GCC і Binutils. Падтрымліваецца сімуляцыя працы чыпа з выкарыстаннем Verilator (Verilog-сімулятар) і SimX (праграмная сімуляцыя).

Асноўныя асаблівасці Vortex:
- Падтрымка архітэктуры набора каманд RISC-V RV32IMF.
- Маштабаванне чыпа да 64 ядраў з апцыянальнымі кэшамі L2 і L3.
- Кожнае ядро можа выконваць 1024 плыняў і працаваць з частатой 250 MHz.
- Максімальная вылічальная магутнасць ацэньваецца ў 128 Gflops, а прапускная здольнасць памяці 16 GB/s. 32-ядзерная рэалізацыя, якая працуе з частатой 200 Mhz, на базе FPGA Altera Stratix 10 паказала прадукцыйнасць у 25.6/XNUMX GFlops.
- Падтрымка стандарту OpenCL 1.2.
- Магчымасць рэалізацыі на базе FPGA Intel Arria 10 і Intel Stratix 10.
Крыніца: opennet.ru
