Домашняя «видеокарта» на 8192 RISC-V-чипах: 2,1 кВт ради эксперимента, а не ради FPS
Стенд из плат с микроконтроллерами и светодиодами. Фото

Видеокарты сейчас стоят так, что шутка «соберу свою» уже почти звучит как инженерное задание. Энтузиаст Matthias Balwierz, известный как Bitluni, решил проверить эту мысль буквально: вместо одного графического чипа он собрал стенд из 8192 дешёвых RISC-V-микроконтроллеров. Но называть результат конкурентом GeForce или Radeon было бы неправильно. Это скорее огромный экспериментальный дисплей, в котором каждый микроконтроллер отвечает за собственную светящуюся точку.

8192 «ядер» — это не 8192 вычислительных блоков GPU

Главная ловушка здесь в слове «ядра». В обычной видеокарте тысячи вычислительных блоков находятся внутри одного кристалла и работают с общей высокоскоростной памятью. Здесь же речь идёт о тысячах отдельных микроконтроллеров QingKe CH570: у каждого есть 32-битное RISC-V-ядро, но они связаны как элементы большого самодельного массива. Один RGB-светодиод припаян прямо к каждому чипу, поэтому устройство одновременно является и вычислительной конструкцией, и экраном.

Текущая версия состоит из 16×32-пиксельных плат, расставленных кольцом. До нормального монитора ей ещё далеко: автор ориентируется на разрешение 320×200 — знакомые цифры для тех, кто помнит DOS-игры. Но для такого варианта понадобилось бы уже 64 тысячи микроконтроллеров. То есть проект ценен не картинкой, а демонстрацией того, как далеко можно зайти, если заменить привычную архитектуру грубой параллельностью.

Главный рекорд здесь — питание

С нынешними 8192 чипами стенд потребляет около 2161 Вт. Один контроллер сам по себе берёт лишь примерно 10 мА при 3,3 В, но на тысячах элементов математика быстро становится неприятной: счёт идёт на сотни ампер. Для питания автор использовал серверный Corsair WS3000 и собственные преобразователи с 12 В на 3,3 В.

Именно поэтому этот проект нельзя воспринимать как рецепт дешёвой видеокарты. Даже если сами контроллеры стоят недорого, плата, разводка, питание, сборка и время превращают идею в очень дорогую игрушку. Автор оценивает только набор чипов для полной 320×200-системы более чем в 8000 долларов.

Зачем тут понадобился 3D-принтер

Самая красивая часть истории — программирование. Вручную прошивать тысячи микроконтроллеров было бы бессмысленно, поэтому Balwierz сделал трёхконтактную вилку-программатор, закрепил её на каретке 3D-принтера и написал скрипт, который подаёт G-code. Принтер в этом случае ничего не печатает: он просто очень точно подвозит программатор к нужному чипу.

В итоге перед нами не видеокарта будущего и не новый путь к дешёвому ПК. Но это редкий проект, который честно показывает цену параллелизма: можно набрать много «ядер», а потом упереться в питание, коммуникацию, память и обслуживание. И всё же увидеть Doom на таком монстре было бы действительно интересно.

. для cirvtacoma.org.