The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

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

14.05.2024 22:03

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

Основу GPGPU составляет типовой ISA RISC-V, расширенный некоторыми дополнительными инструкциями, необходимыми для поддержки функций GPU и управления потоками. При этом изменения в архитектуре набора команд RISC-V сведены к минимуму и по возможности используются уже имеющиеся векторные инструкции. Похожий подход применяется в проекте RV64X, который также развивает открытый GPU на базе технологий RISC-V.

Основные особенности Vortex:

  • Поддержка 32- и 64-разрядных архитектур набора команд RISC-V RV32IMF и RV64IMAFD.
  • Настраиваемое число ядер, блоков задач (warps) и потоков.
  • Настраиваемое число ALU, FPU, LSU и SFU для каждого ядра.
  • Настраиваемая ширина выдачи конвейера (pipeline issue width).
  • Опциональная разделяемая память и кэши уровней L1, L2 и L3.
  • Поддержка спецификации OpenCL 1.2.
  • Возможность реализации на базе FPGA Altera Arria 10, Altera Stratix 10, Xilinx Alveo U50, U250, U280 и Xilinx Versal VCK5000.
  • Расширенные инструкции: "tex" для ускорения обработки текстур, vx_rast для управления растеризацией, vx_rop для обработки фрагментов, глубины и прозрачности, vx_imadd для выполнения операции "умножить и сложить", vx_wspawn, vx_tmc и vx_bar для активации фронтов инструкций и потоков в них (wavefront, набор нитей, параллельно выполняемых SIMD Engine), vx_split и vx_join.
  • Поддержка промежуточного представления шейдеров SPIR-V реализована через трансляцию в OpenCL.
  • Для разработки приложений предлагается инструментарий, включающий адаптированные для работы с Vortex варианты PoCL (компилятор и runtime OpenCL), LLVM/Clang, GCC и Binutils.
  • Поддерживается симуляция работы чипа с использованием Verilator (Verilog-симулятор), RTLSIM (симуляция RTL) и SimX (программная симуляция).

Для графики на технологиях Vortex развивается открытый GPU Skybox, поддерживающий графический API Vulkan. Прототип Skybox, созданный на базе FPGA Altera Stratix 10 и включающий 32 ядра (512 потоков), позволил при частоте 230 MHz добиться производительности заливки в 3.7 гигапикселей в секунду (29.4 гигатранзакции в секунду). Отмечается, что это первый открытый GPU с программной и аппаратной реализацией, поддерживающий Vulkan.

Среди изменений в версии Vortex 2.1:

  • Добавлен API spawn_taskgroups для запуска ядер, использующих локальную память и поддерживающих выставление барьеров на память.
  • Предложено новое расширение для создания перемещаемых (relocatable) бинарных ядер.
  • В API управления памятью добавлены вызовы vx_mem_reserve, vx_mem_access и vx_mem_address.
  • Добавлен новый runtime API vx_check_occupancy.
  • В драйвер для GPU добавлена опция для проверки OpenCL-тестов на локальном GPU.
  • Добавлены тесты OpenCL, использующие локальную память (psum, sgemm2, sgemm3).
  • Добавлены специально адаптированные для Vortex редакции библиотек libc и librt.
  • Добавлена поддержка слияния соседних свободных блоков памяти (memory coalescing).
  • Проведена оптимизация микроархитектуры.
  • Добавлен новый сборочный скрипт, отделяющий исходные файлы от сборочного каталога.


  1. Главная ссылка к новости (https://github.com/vortexgpgpu...)
  2. OpenNews: Проект по созданию открытого GPGPU
  3. OpenNews: Проект Libre RISC-V развивает свободный GPU
  4. OpenNews: Открытый GPU Nyuzi задействован для научных исследований
  5. OpenNews: Представлен RV64X, открытый GPU на базе технологий RISC-V
  6. OpenNews: Проект VeriGPU развивает открытый GPU на языке Verilog
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/61173-vortex
Ключевые слова: vortex, gpgpu, gpu, verilog
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (39) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.2, YetAnotherOnanym (ok), 22:18, 14/05/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    А игори-то как? Игори на этой штуке плавать могут?
     
     
  • 2.9, Аноним (9), 23:07, 14/05/2024 [^] [^^] [^^^] [ответить]  
  • +11 +/
    Да, Vortex может скачивать и подключать моды к скайриму.
     
     
  • 3.18, Аноним (18), 00:43, 15/05/2024 [^] [^^] [^^^] [ответить]  
  • +2 +/
    А если нейронку прикрутить, ещё и сам разрабатывать моды сможет и сам в них играть.
     
     
  • 4.35, Аноним (35), 10:02, 15/05/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > нейронку прикрутить

    Можно подробнее об архитектуре сети, которую вы планируете "прикрутить", и ссылки на источники с алгоритмами?

     
     
  • 5.37, Аноним (37), 12:22, 15/05/2024 [^] [^^] [^^^] [ответить]  
  • +/
    https://openai.com/index/hello-gpt-4o/
     

  • 1.3, Аноним (3), 22:21, 14/05/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Вот оно, будущее RISC-V на десктопе!
     
     
  • 2.16, Аноним (16), 00:25, 15/05/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Последние AMD видеокарты умеют работать на материнке с risc-v процессором. Вот только производительных процессоров нет.
     
     
  • 3.20, Аноним (20), 01:03, 15/05/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ещё Voodoo умели работать на не-x86 системах (читай Маках), в чём достижение-то?
     
     
  • 4.46, Аноним (-), 06:21, 16/05/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Ещё Voodoo умели работать на не-x86 системах (читай Маках), в чём достижение-то?

    Например в поддержке вулкана. Но ты можешь попробовать его заимплементить на вуде, конечно :)

     
  • 3.30, Аноним (30), 07:56, 15/05/2024 [^] [^^] [^^^] [ответить]  
  • +/
    А как видюха зависит от набора команд процессора?
     
     
  • 4.31, Аноним (31), 08:16, 15/05/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Драйвер же должен же быть!
     
  • 4.33, qweo (?), 09:29, 15/05/2024 [^] [^^] [^^^] [ответить]  
  • +2 +/
    А там микрокод для инициализации - для x86.
    Чтобы, скажем, на POWER видюхи использовать, нужно шаманить
     
     
  • 5.39, IdeaFix (ok), 15:04, 15/05/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Т.е. один и тот же рейдж не работал на спарках, ппц, мипс и х86? Точно? И радеон не работал на спарках, ппц и х86?

    А под альфу даже биос видяхи трогать не надо было, в отличии от.

     
     
  • 6.42, qweo (?), 17:56, 15/05/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Т.е. один и тот же рейдж не работал на спарках, ппц, мипс
    > и х86? Точно? И радеон не работал на спарках, ппц и
    > х86?

    Я про наше время. Да, один и тот же радеон надо, или не надо, ошаманивать, в зависимости от того, может ли проц исполнять инструкции x86.
    Но проблема не нова: OpenFirmware, стандартизированный в девяностых, предложил решение: микропрограммы на Форте. Не вспомню сходу MIPS с OpenFirmware, но старые PPC, а также спарки, были обычно на 1275

    > А под альфу даже биос видяхи трогать не надо было

    Да ну? То, что шина Athlon MP была слизана с альфовской и совместима, я знаю. Но прямо прошивка? ISA же другая


     
     
  • 7.47, Аноним (-), 10:16, 16/05/2024 [^] [^^] [^^^] [ответить]  
  • +/
    От OpenFirmware осталось только DeviceTree пожалуй, который вообще не код А так... большой текст свёрнут, показать
     
  • 7.50, IdeaFix (ok), 11:42, 22/05/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Да ну? То, что шина Athlon MP была слизана с альфовской и
    > совместима, я знаю. Но прямо прошивка? ISA же другая

    Санки и ХППА были паханами, а альфа на подсосе, поэтому проблему прошивок для маков, санок и хппа решали на стороне карт расширения, а у альфы был эмулятор для работы с "х86 прошивками". Так-то даже мемтест86 бинарь пытается стартануть, а уж биосы всяких старых скази и видях работают и даже красивые пост скрины отрисовывают и интерфейсы управления. Уточню, возможность загрузки с крайних скази 320 адаптеков - это другое.

    К слову, крушили тут ИБМ Z в аэро-корпусах, там в PCI корзине стояли матроксы г450 пци (или г400? с хинт мостом в общем) и медные и оптические двухпортовки от интел на гигабит, специально сверил интеловские и матрасные бутромы - x86.

    А вот получить direct rendering=yes на альфе в линуксе я смог только на матрокс г200 в ночнушках 9-го деба под альфу (да, в портах ночнушки периодически собираются вплоть до 11 деба!). В пятом дебе мне показалось что в ноарх пакете мезы или фирмварей всё же овер дофига х86 ассемблера. В четвертом дебе всё более или менее работает (директ рендеринг есть на радеон 9200 например) но очень уж он стар даже для поиграться. В своё время я пинал синхронно санблейд 150, альфасервер 10 с видяхой и хп B2600 - интеерсный опыт, но не то чтобы очень полезный.

     
  • 7.51, IdeaFix (ok), 11:54, 22/05/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Поправочка... до 12 деба.

    https://cdimage.debian.org/cdimage/ports/12.0/

    т.е. на спарк64 старый или альфу можно системд сделать :) А вот IA64 собирать прекратили...

    Майнтейнер этого всего делает сам новые образа не часто, но когда появляется какой-то энтузиаст, который пробует всё это, сборки могут выходить одна за другой в течении недели.

     

  • 1.5, Аноним (5), 22:29, 14/05/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +10 +/
    Неужто хоть один GPU таки будет без блобов?
     
  • 1.8, Beta Version (ok), 22:51, 14/05/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Это что и зачем? На потребительском рынке у таких вк есть шанс появиться?
     
     
  • 2.12, Аноним (12), 23:35, 14/05/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Для прототепирования и эксперементов без NDA.
     
     
  • 3.13, Аноним (13), 23:37, 14/05/2024 [^] [^^] [^^^] [ответить]  
  • +2 +/
    ага, прототипировать "прототеп"!)
     
  • 2.41, Советский инженер (ok), 16:28, 15/05/2024 [^] [^^] [^^^] [ответить]  
  • +/
    в каких-то чипах для телеприставок вполне реальный шанс.
     
     
  • 3.52, IdeaFix (ok), 12:09, 22/05/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > в каких-то чипах для телеприставок вполне реальный шанс. Телеприставке декодер бы... возможность работы с контентом под DRM и прочее и прочее...
     
  • 2.45, Аноним (45), 05:10, 16/05/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Может быть в довольно отдалённом будущем Если экосистема RISC-V дорастёт до уро... большой текст свёрнут, показать
     
     
  • 3.48, Аноним (-), 10:39, 16/05/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Как бы Allwinner скачал оттуда XuanTie ское ядро RISCV, прикрутил к своему типич... большой текст свёрнут, показать
     

  • 1.10, Аноним (10), 23:25, 14/05/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • –5 +/
    >Схемы, описания аппаратных блоков на языке Verilog,

    Сильно сомневаюсь что на Верилог можно сделать что-то годное.

     
     
  • 2.14, Аноним (14), 23:38, 14/05/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Это же будет кладезь CVE. Составляйте свой список и ждите, когда появятся награды. Проверенная дорожка стать миллионером.
     
     
  • 3.28, Аноним (28), 07:49, 15/05/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А если никто не будет платить за закрытие уязвимости?
     
  • 2.15, Аноним (15), 23:59, 14/05/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Будьте уверены что можно. Как и на любом тьюринг полном.
     
  • 2.38, Ivan7 (ok), 13:38, 15/05/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А на чём же ещё, если не на Verilog?
     

  • 1.11, Аноним (11), 23:34, 14/05/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    >Поддержка промежуточного представления шейдеров SPIR-V реализована через трансляцию в OpenCL.

    Yo dawg. OpenCL -> spirv -> ?? -> opencl -> ??? -> riscv

     
  • 1.17, Аноним (18), 00:42, 15/05/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    > Прототип Skybox, созданный на базе FPGA Altera Stratix 10 и включающий 32 ядра (512 потоков), позволил при частоте 230 MHz добиться производительности заливки в 3.7 гигапикселей в секунду

    Это уровень GeForce 6800 из 2004-го. Уже неплохо, уже не Riva TNT 2.

     
     
  • 2.19, Аноним (11), 00:51, 15/05/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Это FPGA. Чтобы было быстрее - нужно компилировать прямо в биткод и динамически реконфигурировать.
     
     
  • 3.23, Аноним (18), 02:03, 15/05/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А я без сарказма. Уже Doom 3 можно гонять теоретически, а не просто цветной кубик крутить.
     
  • 2.25, сидик из макдака (?), 06:27, 15/05/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Это уровень GeForce 6800

    Если не про игры, то это совершенно не важно. Для плавного отображения интерфейса более чем достаточно. И все дело больше упирается в качественные драйверы, которые смогут нормально управлять питанием карточки.

     
     
  • 3.29, Аноним (28), 07:50, 15/05/2024 [^] [^^] [^^^] [ответить]  
  • +/
    FPGA на Verilog это в принципе не про потребительский рынок.
     
     
  • 4.36, Аноним (36), 10:35, 15/05/2024 [^] [^^] [^^^] [ответить]  
  • +/
    FPGA очень даже про потребительский, существуют маленькие недорогие FPGA, но туда видеокарту не запихнёшь.
     

  • 1.32, Швондик (?), 08:59, 15/05/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    нужно бы его к АТМ 2 Turbo адаптировать...
     
  • 1.34, Аноним (34), 09:33, 15/05/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Инструментарий на gcc/binutils - можно самому писать по это прошивку. На асме.
     
  • 1.40, IdeaFix (ok), 15:08, 15/05/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Коллеги, а HP свои фреймбуферы плисовые под HP-PA, которые умели OGL совсем похоронил?

    У меня есть A4982B HP 24MB PCI Visualize FXE Video Graphics Card в составе B2600 Workstation, но... информации по всему этому не то, чтобы много. Дока на 500 страниц как запустить на это опенгл конечно есть, но я именно о технической части.

     
     
  • 2.44, Anonyous (?), 21:32, 15/05/2024 [^] [^^] [^^^] [ответить]  
  • +/
    https://parisc.wiki.kernel.org/index.php/VisualizeFX

    написано что доков нет... в netbsd тоже не видно

     
     
  • 3.49, IdeaFix (ok), 14:30, 16/05/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Там на самом деле всё очень странно. Чпукс, уж на сколько он был не массовым, до последнего имел публичные пакетные репозитории от третьих лиц, но с благославением ХПе. А когда чпукс еолили, все эти в общем энтузиасты вынуждены были повыключать свои песочницы. С pa-risc based фрембуферами та же фигня - программисты на форумах порой пишут, типа у меня есть код под старый иксфри, я его портировал куда-то поновее... это компилять вообще законно?
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру