Инженер построил собственный GPU с нуля всего за две недели — процесс оказался сложнее, чем он ожидал

→ Оригинал (без защиты от корпорастов) | Изображения из статьи: [1] [2] [3]

Инженер поделился своим опытом создания GPU с нуля без предварительного опыта. Как и в своем предыдущем проекте по разработке CPU с нуля, Адам Маджмудар потратил всего две недели на этот подвиг. В треде на Twitter/X Маджмудар поделился всем процессом, шаг за шагом, и признал, что проектирование GPU оказалось намного более сложной задачей, чем ожидалось. Текущим результатом проекта стала схема чипа на Verilog, которая была пропущена через ПО OpenLane EDA для верификации. Однако GPU будет отправлен на тестирование через Tiny Tapeout 7, так что в ближайшие месяцы он станет физическим чипом.

Создание архитектуры > Создание сборки > ядра для GPU > проектирование > первые готовые чипы

Выше вы можете видеть последовательность задач, над которыми работал Маджмудар при проектировании своего GPU. Однако, поскольку это проект "с нуля", много изучения и размышлений потребовалось еще до того, как был предпринят первый шаг. Ранее инженер выражал опасения, что GPU будут относительно сложной областью для изучения из-за доминирования проприетарных технологий, и это предсказание сбылось.

После нескольких итераций Маджмудар решил сосредоточиться на возможностях параллельных вычислений общего назначения (GPGPU). Таким образом, он скорректировал свою архитектуру набора команд (ISA), которая содержит всего 11 инструкций, чтобы достичь этой цели. Далее инженер написал два ядра матричной математики для запуска на своем GPU. Эти ядра сложения и умножения матриц должны были продемонстрировать ключевую функциональность GPU и предоставить доказательства его полезного применения в задачах графики и машинного обучения.

До сих пор инженеру было относительно легко, но создание его GPU на Verilog представляло "много проблем". Советы от Джорджа Хотца помогли Маджмудару преодолеть первые препятствия, так что после трех переработок кода он достиг нужного результата.

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

Наконец, завершенный дизайн Verilog был пропущен через OpenLane EDA, нацеленный на техпроцесс Skywater 130 нм (для Tiny Tapeout). Правда, даже тогда оставался ряд нерешенных проблем. В частности, Маджмудар объяснил, что некоторые проверки правил проектирования (DRC) не прошли и потребовали доработки.

После двухнедельных усилий инженер с удовольствием поиграл с крутой 3D-визуализацией своего дизайна GPU. И уже скоро можно будет взглянуть на физический результат всех трудов.

сли вы хотите узнать больше об этом самодельном GPU, почитайте тред и/или изучите специальную страницу Tiny-GPU на GitHub.

Больше статей на Shazoo

  • Железо Steam за август: Windows 11 установлена почти на 40% компьютеров, GTX 1650 все еще самая популярная видеокарта
  • Китай планирует инвестировать 40 миллиардов долларов в производство микрочипов
  • Китайская ИИ-компания утверждает, что GPU Huawei для ИИ сравнимы с NVIDIA A100

Тэги: