Домой Новости Железо Опубликован Vortex 3.0: открытый GPGPU на базе архитектуры RISC-V

Опубликован Vortex 3.0: открытый GPGPU на базе архитектуры RISC-V

Разработчики представили масштабное обновление открытой графической архитектуры: Vulkan-драйвер, поддержка ИИ-вычислений и новые аппаратные блоки.

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

В основе архитектуры лежит стандартный набор инструкций RISC-V, дополненный специфическими командами для управления GPU и потоками. Внедрение изменений в ISA сведено к минимуму, при этом задействуются существующие векторные инструкции. Специальный набор команд включает:

  • tex — для ускорения обработки текстур;
  • vx_rast, vx_rop — для управления растеризацией и обработки фрагментов (включая глубину и прозрачность);
  • vx_imadd — для операций умножения-сложения;
  • vx_wspawn, vx_split, vx_join, vx_tmc, vx_bar — для работы с группами потоков (wavefront) в SIMD-движке.
Схема архитектуры открытого GPGPU Vortex
Обзорная схема компонентов системы Источник: opennet.ru

Vortex 3.0 поддерживает 32- и 64-битные архитектуры (RV32IMF и RV64IMAFD). Система отличается гибкостью конфигурации: можно настраивать количество ядер, блоков задач (warps) и потоков, а также кэши уровней L1–L3 и разделяемую память. Каждое ядро может быть укомплектовано набором ALU, FPU, LSU и SFU. Для прототипирования предусмотрена поддержка FPGA Xilinx и Altera, а для отладки — симуляторы Verilator, RTLSIM и SimX.

Разработчикам доступен инструментарий на базе LLVM/Clang, GCC, Binutils и PoCL. Система поддерживает спецификацию OpenCL 1.2, а также работу с шейдерами через промежуточное представление SPIR-V.

Ключевые новшества Vortex 3.0

  • Графический стек: добавлена аппаратная поддержка растеризации, наложения текстур и Output Merger (OM). Для Mesa подготовлен Vulkan-драйвер vortexpipe, использующий программный растеризатор lavapipe.
  • Тензорное ядро: расширены функции ИИ-ускорения, внедрена поддержка структурной разрежённости (structured sparsity) для сжатия матриц.
  • Операции с матрицами: добавлена поддержка WGMMA (warpgroup-level matrix multiplication) для асинхронных вычислений.
  • Передача данных: внедрен движок DXA (Data Transfer Acceleration) для оптимизации перемещения данных между глобальной и локальной памятью.
  • Планировщик: новая архитектура Command Processor (CP) и Kernel Management Unit (KMU) переносит операции диспетчеризации потоков на уровень чипа.
  • Runtime: обновленная библиотека работает в неблокирующем режиме, предоставляя абстракции для асинхронного выполнения команд.
  • Оптимизации: внедрена поддержка RVC (укороченные инструкции RISC-V), аппаратные атомарные операции и управление тактовой частотой (clock gating).
  • FPU и память: полностью переработан FPU (новые блоки Wallace-tree и Kogge-Stone), добавлен стек виртуальной памяти (MMU) с поддержкой адресации SV32.
  • Расширение возможностей: реализована поддержка Zicond для условных операций и языка HIP (через фреймворк chipStar).
  • Экосистема: полноценная интеграция с GEM5 и SimX. Инструментарий обновлен до LLVM 20 и POCL 7.0, добавлена поддержка синтеза через Synopsys и Yosys с библиотеками ASAP7, SAED14 и NanGate.
Источник: http://www.opennet.ru