Инженер построил собственный GPU с нуля всего за две недели — процесс оказался сложнее, чем он ожидал
Инженер поделился своим опытом создания GPU с нуля без предварительного опыта. Как и в своем предыдущем проекте по разработке CPU с нуля, Адам Маджмудар потратил всего две недели на этот подвиг. В треде на Twitter/X Маджмудар поделился всем процессом, шаг за шагом, и признал, что проектирование GPU оказалось намного более сложной задачей, чем ожидалось. Текущим результатом проекта стала схема чипа на Verilog, которая была пропущена через ПО OpenLane EDA для верификации. Однако GPU будет отправлен на тестирование через Tiny Tapeout 7, так что в ближайшие месяцы он станет физическим чипом.
Выше вы можете видеть последовательность задач, над которыми работал Маджмудар при проектировании своего GPU. Однако, поскольку это проект "с нуля", много изучения и размышлений потребовалось еще до того, как был предпринят первый шаг. Ранее инженер выражал опасения, что GPU будут относительно сложной областью для изучения из-за доминирования проприетарных технологий, и это предсказание сбылось.
После нескольких итераций Маджмудар решил сосредоточиться на возможностях параллельных вычислений общего назначения (GPGPU). Таким образом, он скорректировал свою архитектуру набора команд (ISA), которая содержит всего 11 инструкций, чтобы достичь этой цели. Далее инженер написал два ядра матричной математики для запуска на своем GPU. Эти ядра сложения и умножения матриц должны были продемонстрировать ключевую функциональность GPU и предоставить доказательства его полезного применения в задачах графики и машинного обучения.
До сих пор инженеру было относительно легко, но создание его GPU на Verilog представляло "много проблем". Советы от Джорджа Хотца помогли Маджмудару преодолеть первые препятствия, так что после трех переработок кода он достиг нужного результата.
После еще нескольких переделок доказательство работоспособности, видео, показывающее запуск и проверку ядра сложения матриц, было опубликовано в треде твитов.
Наконец, завершенный дизайн Verilog был пропущен через OpenLane EDA, нацеленный на техпроцесс Skywater 130 нм (для Tiny Tapeout). Правда, даже тогда оставался ряд нерешенных проблем. В частности, Маджмудар объяснил, что некоторые проверки правил проектирования (DRC) не прошли и потребовали доработки.
После двухнедельных усилий инженер с удовольствием поиграл с крутой 3D-визуализацией своего дизайна GPU. И уже скоро можно будет взглянуть на физический результат всех трудов.
сли вы хотите узнать больше об этом самодельном GPU, почитайте тред и/или изучите специальную страницу Tiny-GPU на GitHub.
- Arm разрабатывает новую архитектуру GPU, нацеленную на конкуренцию с Nvidia
- Foxconn подтвердила ограниченную доступность Nvidia Blackwell в этом году
- Новый драйвер Nvidia GeForce Game Ready уже доступен — оптимизация для Hunt: Showdown 1896 и Level Zero: Extraction с поддержкой DLSS