FuryGPU est un GPU hardware open source construit à partir de zéro

FuryGPU is an open source hardware GPU built from scratch

En un mot: Quelqu’un peut-il créer une carte graphique 3D à partir de zéro ? Dylan Barrie a voulu le découvrir et a passé quatre ans à essayer. Le résultat était un GPU complet qui peut théoriquement exécuter des logiciels de jeu plus anciens sous Windows.

Dylan Barrie est un développeur de jeux et un amateur de hardware informatique. Au cours des quatorze dernières années de sa carrière dans l’industrie du jeu vidéo, Barrie s’est principalement concentré sur l’aspect logiciel du rendu graphique. Cependant, il a commencé à développer un GPU full-stack personnalisé il y a quatre ans pendant son temps libre.

Barrie a déclaré que le processus de création d’une carte graphique à partir de zéro était infernal, mais après quatre ans de diligence, il peut enfin partager ses efforts maintenant que la conception de la carte d’extension est essentiellement terminée. FuryGPU est un « véritable GPU hardware » construit sur une conception FPGA Xilinx Zynq UltraScale+. La carte utilise un PCB personnalisé et se connecte au PC hôte via un emplacement PCIe.

FuryGPU peut prendre en charge des fonctionnalités matérielles équivalentes à une carte graphique « haut de gamme » du milieu des années 1990, avec une pile complète de logiciels et de drivers pour les versions modernes de Windows. Le GPU peut restituer les jeux de cette décennie avec des fréquences d’images jouables en temps réel. Barrie publiera éventuellement des schémas matériels, des logiciels et des drivers via une licence open source.

YouTube video

Le fabricant de hardware informatique a déclaré qu’il avait décidé de construire un processeur graphique à partir de zéro parce qu’il ne connaissait pas les « détails réels » du fonctionnement des GPU. Étant « extrêmement familier » avec le processus de rendu 3D du point de vue logiciel, Barrie s’est rendu compte que la création d’un GPU pouvait être un projet personnel réalisable, quoique intimidant.

Il a passé « d’innombrables heures » à apprendre comment fonctionnent les puces FPGA et comment créer des conceptions de puces grâce à la description du hardware, à la vérification et au langage d’implémentation SystemVerilog. Concevoir les schémas d’une carte graphique PCIe a été un « effort herculéen », a déclaré Barrie. Sans surprise, l’écriture des drivers Windows a été la tâche la plus pénible du projet.

Le développeur a écrit une API graphique personnalisée pour communiquer avec le GPU et a créé des drivers de Core Windows pour gérer les signaux d’affichage et audio. Le FuryGPU peut restituer Quake – le Quake original sorti en 1996 – à une vitesse « solide » de 60 images par seconde, ce qui aurait été un véritable plaisir pour les joueurs des années 90.

Barrie prévoit d’écrire davantage sur son aventure de création de GPU sur son blog FuryGPU, en commençant par les unités de texture de la carte. Il souhaite également optimiser sa version personnalisée de Quake pour qu’elle fonctionne beaucoup plus rapidement.

Détente, découvrez l’évolution du nombre de smartphones vendus par marque au fil du temps dans la vidéo ci-dessous :

YouTube video