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

Новости мира unix. Хотите узнать секрет вечного счастья? Откройте страницу 246.
Ответить
acolyte
Аватара пользователя
Сообщения: 3246
Зарегистрирован: 20.08.2022

#

Доступен Vortex 2.2, открытый GPGPU на базе архитектуры RISC-V
Дата публикации:Wed, 07 Aug 2024 12:36:18 +0300




Опубликован выпуск проекта 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.
Изображение





Развиваемый 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
Ссылка на оригинал: https://www.opennet.ru/opennews/art.shtml?num=61669

Жизнь за Нер'зула!

Ответить