Адрес: ул. Б. Очаковская 32 Москва Россия
Наши официальные канал и чат в telegram
Поднимем Devuan на вершину Distrowatch! Просто перейдите по ссылке один раз в день.

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

Новости собранные из разных RSS источников
Аватара пользователя
root:#
Site Admin
Сообщения: 1903
Зарегистрирован: Вт ноя 08, 2022 3:27 pm
Благодарил (а): 59 раз
Поблагодарили: 28 раз

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

Сообщение root:# »

Опубликован Vortex 3.0, открытый GPGPU на базе архитектуры RISC-V
Доступен выпуск проекта Vortex 3.0, развивающего открытый 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_split, vx_join, vx_tmc и vx_bar для активации групп потоков (wavefront), параллельно выполняемых SIMD Engine.

Изображение
Развиваемый GPGPU поддерживает 32- и 64-разрядные архитектуры набора команд RISC-V RV32IMF и RV64IMAFD, и может включать опциональную разделяемую память, кэши уровней L1, L2 и L3, а также настраиваемое число ядер, блоков задач (warps) и потоков. В свою очередь для каждого ядра предусмотрена возможность включения настраиваемого числа ALU, FPU, LSU и SFU. Для создания прототипов могут использоваться FPGA Xilinx и Altera, а для симуляции работы чипа применяться Verilator (Verilog-симулятор), RTLSIM (симуляция RTL) и SimX (программная симуляция). Для разработки приложений предлагается инструментарий, включающий адаптированные для работы с Vortex варианты PoCL (компилятор и runtime OpenCL), LLVM/Clang, GCC и Binutils. Проектом поддерживается спецификация OpenCL 1.2 и через трансляцию в OpenCL реализована поддержка промежуточного представления шейдеров SPIR-V. Среди изменений в Vortex 3.0:
  • Добавлен аппаратный графический стек, включающий блоки для растеризации, наложения текстур и слияния вывода (OM - Output Merger). Для Mesa на базе реализованного графического стека и программного растеризатора lavapipe подготовлен Vulkan-драйвер vortexpipe. Расширены возможности тензорного ядра, предназначенного для ускорения выполнения моделей машинного обучения, в котором реализована поддержка структурной разрежённости (structured sparsity) для сжатия весовых матриц. Реализована операция WGMMA (warpgroup-level matrix multiplication) для умножения матриц в асинхронном режиме. Добавлен движок DXA (Data Transfer Acceleration) для ускорения передачи данных из глобальной в локальную память. Реализована новая архитектура на базе процессора команд (CP, Command Processor) и аппаратного планировщика вычислительных ядер (KMU - Kernel Management Unit), позволяющая вынести на сторону чипа операции диспетчеризации вычислительных потоков. Предложена новая runtime-библиотека, работающая в неблокирующем режиме и предоставляющая абстракции, транслируемые в аппаратные асинхронно выполняемые команды. Поддерживаются очереди, события, модули и синхронизация на базе асинхронных барьеров с семантикой arrive/wait/event. Добавлена поддержка укороченных инструкций RISC-V (RVC). Реализована аппаратная поддержка атомарных операций (Hardware Atomics). Полностью переработан FPU и предложены новые блоки умножителей (Wallace-tree, Folded-radix) и сумматоров (Kogge-Stone). Добавлен стек виртуальной памяти на базе блока управления памятью (MMU) с поддержкой 32-битной архитектуры виртуальной адресации SV32. Поддержка RISC-V расширения Zicond c реализацией условных операций. Интегрировано управление тактовой частотой (clock gating). Реализована поддержка языка HIP (Heterogeneous Interface for Portability) через фреймворк chipStar, транслирующий HIP в SPIR-V. Обеспечена полноценная интеграция с симулятором GEM5 и добавлена поддержка симулятора SimX на архитектуре TLM (Transaction-Level Modeling). Добавлена поддержка инструментариев Synopsys и Yosys для синтеза логики для производства чипов, а также поддержка использования библиотек стандартных элементов ASAP7 (7nm), SAED14 (14nm) и NanGate (15nm). Эталонный инструментарий обновлён до LLVM 20 и POCL 7.0.

Источник: https://www.opennet.ru/opennews/art.shtml?num=65652