Достъпен е Vortex 2.2, открит GPGPU на базата на архитектурата RISC-V

Публикувана версия на проекта Vortex 2.2, който развива отворен GPGPU на базата на архитектура с набор от команди RISC-V, проектиран за изпълнение на паралелни изчисления с помощта на API OpenCL и модела на изпълнение SIMT (Single Instruction, Multiple Threads). Проектът може също така да се използва за изследвания в областта на 3D графиката и при разработването на нови архитектури на GPU. Схеми, описания на хардуерни блокове на Verilog, симулатор, драйвери и свързана проектна документация се разпространяват под лицензия Apache 2.0.

Основата на GPGPU е типичен ISA RISC-V, разширен с някои допълнителни инструкции, необходими за поддържане на функции на GPU и управление на потоковете. В същото време промените в архитектурата на набора от команди RISC-V са сведени до минимум и по възможност се използват вече наличните векторни инструкции. Сред допълнителните инструкции може да се отбележи: «tex» за ускорение на обработката на текстури, vx_rast за управление на растеризацията, vx_rop за обработка на фрагменти, дълбочина и прозрачност, vx_imadd за изпълнение на операцията «умножаване и събиране», vx_wspawn, vx_tmc и vx_bar за активиране на фронтовете на инструкциите и потоковете в тях (wavefront, набор от нишки, изпълнявани паралелно от SIMD Engine), vx_split и vx_join.

Достъпен е Vortex 2.2, открит GPGPU на базата на архитектурата RISC-V

Развиваният GPGPU поддържа 32- и 64-битови архитектури на набора от команди RISC-V RV32IMF и RV64IMAFD и може да включва опционална споделена памет, кешове на нива L1, L2 и L3, както и настраиваемо число ядра, блокове задачи (warps) и потоци. За всяко ядро е предвидена възможност за включване на настраиваемо число ALU, FPU, LSU и SFU. За създаване на прототипи могат да се използват FPGA Altera Arria 10, Altera Stratix 10, Xilinx Alveo U50, U250, U280 и Xilinx Versal VCK5000. За симулация на работата на чипа могат да се използват Verilator (симулатор на Verilog), RTLSIM (симулация на RTL) и SimX (програмна симулация).

За разработка на приложения се предлага инструментарий, включващ адаптирани за работа с Vortex варианти PoCL (компилатор и runtime OpenCL), LLVM/Clang, GCC и Binutils. Проектът поддържа спецификация OpenCL 1.2 и чрез трансляция в OpenCL реализира подкрепа на междинно представяне на шейдера SPIR-V. За графика в технологиите Vortex се развива отворен GPU Skybox, който поддържа графичния API Vulkan. Прототипът Skybox, създаден на база FPGA Altera Stratix 10 и включващ 32 ядра (512 потока), позволява при честота 230 MHz да се постигне производителност на запълване от 3.7 гигапиксела в секунда (29.4 гига-транзакции в секунда).

Сред промените в версия Vortex 2.2:

  • Добавен е API vx_spawn_taskgroups за стартиране на ядра, поддържащи сегментирано изпълнение на 3D задачи.
  • Добавена е поддръжка на ZICOND, разширение на архитектурата на командния набор RISC-V, осигуряващо условно изпълнение на операции без разклоняване.
  • Компилаторът OpenCL е преместен към планиране на изпълнението на ниво отделни потоци (thread-level, всеки поток изпълнява своя задача независимо от другите потоци), а не на групи задачи (warp-level), както беше преди.
  • В OpenCL е добавена поддръжка на JIT компилация и 64-битови ядра.
  • Реализирана е поддръжка на динамично зареждане на Vortex runtime.
  • Предложена е нова документация за настройка на FPGA Xilinx.
  • Включено е тестване на синтеза на логика с използване на инструментария Yosys.
  • В хиарархичните операции flush и в режим write-back е осигурена поддръжка на кеша.
  • Извършена е оптимизация на скоростта на scoreboard верификацията и работата с операндите на ниво регистрови предавания (RTL, Register Transfer Level).
  • Добавена е поддръжка на симулатора на DRAM памет Ramulator 2.0.
  • Осуществен е преход към използване на нови версии Verilator 5.0 (симулатор SystemVerilog) и LLVM 18.0, както и обновен инструментарий на база CentOS 7.9.
  • Вместо системата за непрекъсната интеграция Travis CI е задействан сервис GitHub CI.

Източник: opennet.ru

Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри 🔥 Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри | ProHoster