Свобода для видео: представлен открытый GPU на базе RISC-V

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

Свободный GPU, для которого не требуется отчислений и отсутствуют условия на использование — голубая мечта многих разработчиков. Сейчас представлен проект, который является началом большой работы по созданию полностью открытых GPU.

Речь идет о проекте, который развивает группа энтузиастов вместе с компанией Pixlica, сам проект называется RV64X. Основная задача команды — создание дополнительного набора инструкций для 3D-графики и обработки мультимедийных данных. В итоге должен получиться свободно интегрируемый в процессор GPU на базе архитектуры RISC-V.

Проект базируется на основе векторных инструкций из RISC-V ISA. Они расширены поддержкой новых типов данных и расширений, которые специфичны для обработки графики. В частности, предложены дополнительные операции для обработки пикселей (RGBA), точек (XYZW), текстурных элементов (UVW-текселей), векторов (операции с 2-4 векторами), параметров материалов, расчёта освещения, трансцендентной математики, буферов глубины (Z-buffer) и кадровых буферов (Framebuffer).

Первый прототип, по словам разработчиков, рассчитан на использование лишь в микроконтроллерах, так что его поддержка ограничена лишь API Vulkan. А вот со временем разработчики добавят поддержку OpenGL и DirectX.

Идея, которая легла в основу нового проекта — гибкость архитектуры, которая позволяет подключать расширения для решения разных специфических задач, включая двухфазовое усечение конусов, применение быстрых преобразований Фурье для произвольной глубины цвета и реализация аппаратных SLAM. У RV64X есть возможность реализации собственных стадий для вычислительного конвейера, а также геометрических, пиксельных и кадровых буферов. Также проект поддерживает создание собственных тесселяторов.

Производители, используя этот проект, имеют возможность готовить предназначенные для решения разных задач чипы. В то же время базой является именно RV64X.

Концепция проекта — гибридный CPU-GPU ISA, который позволяет создавать и специализированные графические микроконтроллеры, и многоядерные процессоры, которые комбинируют вычислительные ядра с блоками для выполнения графических операций. Процессор, интегрированный с GPU, будет выглядеть, как единый модуль, без выделения блока видео. Программируется он с использованием унифицированного набора 64-разрядных инструкций и модели SIMD для обеспечения параллелизма на уровне данных.


Можно также упомянуть такую особенность архитектуры нового GPU, как использование единой модели памяти как в CPU, так и в GPU, что дает возможность обойтись без дополнительных механизмов RPC/IPC для трансляции вызовов между памятью GPU и CPU при обработке операций 3D API. В этом случае стандартные графические операции можно реализовать на уровне микрокода. Поддерживается создание пользовательских шейдеров, растеризаторов и расширений для трассировки лучшей.

При необходимости разработчики смогут реализовать векторные операции для работы с задачами по симуляции, проектами компьютерного зрения и машинного обучения.

Что касается реализации архитектуры, то она включает 32KB кэш первого уровня для инструкций и данных, 8 KB памяти SRAM для микрокода, декодировщик инструкций, аппаратную реализацию наборов инструкций RV32V и RV64X, задаваемый через микрокод декодировщик расширенных инструкций, векторное арифметико-логическое устройство (ALU), 136-разрядный регистровый файл с 1024 элементами, блок для выполнения специальных операций (SFU, Special Function Unit), блок обработки текстур (Texture Unit) и настраиваемый локальный фреймбуфер.

Источник: https://habr.com/ru/company/selectel/blog/540422/


Интересные статьи

Интересные статьи

Описание общей потребности в поиске данных и объектов в базе данных Поиск данных, а также хранимых процедур, таблиц и других объектов в базе данных является достаточно актуальным вопросом в том ...
Привет, Хабр! Представляю вашему вниманию перевод поста Стивена Вольфрама "The Wolfram Function Repository: Launching an Open Platform for Extending the Wolfram Language". Предпосылк...
Если честно, к Д7 у меня несколько неоднозначное отношение. В некоторых местах я попискиваю от восторга, а в некоторых хочется топать ногами и ругаться неприличными словами.
В "Черном Зеркале" была серия (S2E1), в которой создавали роботов, похожих на умерших людей, используя для обучения историю переписок в социальных сетях. Я хочу рассказать, как я попробовал сдела...
Если Вы используете в своих проектах инфоблоки 2.0 и таблицы InnoDB, то есть шанс в один прекрасный момент столкнуться с ошибкой MySQL «SQL Error (1118): Row size too large. The maximum row si...