Vortex — отворен GPGPU на базата на архитектура RISC-V, съвместим с OpenCL

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

В текущия си вид предоставя типичен ISA RISC-V, разширен с някои допълнителни инструкции, необходими за поддръжка на GPU функции и управление на потоците. При разработването авторите на проекта се опитаха да сведат до минимум промените в архитектурата на командния набор RISC-V, използвайки на възможно най-много вече съществуващи векторни инструкции. Подобен подход се прилага и в проекта RV64X, който също развива отворен GPU на базата на технологии RISC-V.

Vortex - отворен GPGPU на базата на архитектурата RISC-V, съвместим с OpenCL

Възможностите на Vortex по обработка на графика все още са ограничени. Заявено е реализиране на поддръжка на OpenGL ES на базата на Vortex, но в самия GPU все още е реализирана само инструкцията 'tex' за ускорение на обработката на текстури, която се извършва на ниво фрагментен шейдър. Вграден растеризатор липсва — цялата обработка на геометрични операции се извършва от системния CPU, а основните примитиви за точки, линии и триъгълници, както и обработката на фрагменти, дълбочина и прозрачност, са реализирани с използване на ядро OpenCL.

Vortex - отворен GPGPU на базата на архитектурата RISC-V, съвместим с OpenCL

В бъдеще се планира реализиране на специфични за обработка на графика разширения на ISA, добавяне на поддръжка на API CUDA и Vulkan, както и разширения за ускорение на системи за машинно обучение и анализ на данни. За разработка на приложения се предлага инструментариум, включващ адаптирани за работа с Vortex варианти на PoCL (компилатор и runtime OpenCL), LLVM/Clang, GCC и Binutils. Поддържа се симулация на работата на чипа с помощта на Verilator (симулатор на Verilog) и SimX (програмна симулация).

Vortex - отворен GPGPU на базата на архитектурата RISC-V, съвместим с OpenCL

Основни характеристики на Vortex:

  • Поддръжка на архитектурата на командния набор RISC-V RV32IMF.
  • Мащабиране на чипа до 64 ядра с опционални кешове L2 и L3.
  • Всяко ядро може да изпълнява 1024 потока и да работи с честота 250 MHz.
  • Максималната изчислителна мощност е оценена на 128 Gflops, а пропускната способност на паметта е 16 GB/s. 32-ядрена реализация, работеща с честота 200 MHz, на базата на FPGA Altera Stratix 10 показа производителност от 25.6 GFlops.
  • Поддръжка на стандарта OpenCL 1.2.
  • Възможност за реализиране на базата на FPGA Intel Arria 10 и Intel Stratix 10.

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

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