avatarcommunity
Железо1 год назад

Энтузиаст создал свою видеокарту с нуля за 4 года

Новый графический процессор с открытым исходным кодом бесплатен для всех - FuryGPU работает в Quake со скоростью 60 кадров в секунду в разрешении 720p и поддерживает современное программное обеспечение Windows. 

После четырех лет разработки полностью индивидуальный графический процессор с открытым исходным кодом вышел из режима секретности. FuryGPU был создан в одиночку разработчиком игрового программного обеспечения Диланом Барри, который утверждает, что собрал этот чрезвычайно сложный программно-аппаратный проект в свободное от работы время. FuryGPU основан на дизайне Xilinx FPGA, а прототип PCIe-видеокарты в настоящее время способен достигать около 44 кадров в секунду в Quake Timedemo. Работа над FuryGPU была начата после того, как Барри вдохновился проектом Бена Итера по созданию программируемого 8-битного компьютера с нуля.

Как вы можете видеть на фотографиях в этой статье, FuryGPU очень похожа на типичную видеокарту для ПК 20-летней давности, модернизированную за счет оснащения выходами DisplayPort и HDMI. Однако проект представляет собой нечто большее, чем просто аппаратное обеспечение: Барри признается, что самым болезненным аспектом разработки этой видеокарты было создание драйверов для Windows.

Барри начал реализовывать свою мечту о создании GPU с нуля после того, как взял в руки плату Arty Z7 с ПЛИС и провел предварительную разработку и тестирование. Впоследствии проект получил толчок к развитию благодаря дебюту систем-на-модулях (SoM) Xilinx Kria, которые объединяют "безумно дешевые ПЛИС Zynq UltraScale+ с тонной блоков DSP и (сравнительно) огромным количеством LUT и FF, а также, что особенно интересно, усиленным ядром PCIe", - восторгается Барри.

Чтобы перейти от этой платы к дизайну PCIe-платы FuryGPU, которую мы увидим в 2024 году, Барри самостоятельно изучил язык описания и верификации аппаратного обеспечения SystemVerilog и программный пакет KiCAD EDA / Electronics CAD. По его словам, чтобы разработать схему FuryGPU с 4-канальным PCIe, который мы видим сегодня, даже с учетом встроенной в SoM схемы FPGA, потребовались неимоверные усилия. Теперь оставалось подключить FuryGPU к тестовому стенду, написать драйверы и протестировать игры.

Создание драйверов Windows для FuryGPU Барри называет "самым болезненным" аспектом всего проекта - несмотря на то, что его основная работа в индустрии разработки игр в течение последних 14 лет связана с программным обеспечением для рендеринга графики.

Изначально создатель FuryGPU хотел сделать простую демонстрацию вращающегося куба, чтобы показать работу GPU. Однако по мере развития проекта новой целью стало воспроизведение культовой компьютерной игры Quake с приемлемой частотой кадров.

Барри объясняет, что после подготовки драйверов для Windows он написал собственный графический API для взаимодействия с GPU, написал драйверы ядра Windows для дисплея и звука, и теперь у него есть "полнофункциональное графическое оборудование, которое может рендерить Quake с частотой 60 кадров в секунду".

Вверху видеозапись Quake Timedemo Барри, демонстрирующая, что около месяца назад FuryGPU смог достичь 44 кадров в секунду в этом бенчмарке в разрешении 720p. Разработчик говорит, что есть явные возможности заставить Quake "работать намного быстрее", так как он увидел несколько очевидных узких мест, которые будут направлены на оптимизацию.

Драйверы FuryGPU для Windows поддерживают как видео-, так и аудиовыходы (иллюстрация: Dylan Barrie - FuryGPU)

FuryGPU планируется выложить в открытый доступ. "Я намерен выложить в открытый доступ весь стек (схему/макет печатной платы, все HDL, драйверы Windows WDDM, драйверы времени выполнения API и Quake, портированный для использования API), но есть ряд юридических проблем, - написал Барри в среду в сообщении на Hacker News. Поскольку он работает по специальности, связанной с этим, он хочет быть уверен, что эта работа не нарушит его трудовой договор или лицензию и т. д.". В этой же теме можно найти множество дополнительных подробностей о проекте FuryGPU для тех, кому это особенно интересно.

Источник: tomshardware.com

104комментария