FuryGPU : un GPU open source, crée à partir de rien !

0
furygpu

FuryGPU est un GPU matériel open source, crée de rien ! Est-il possible de fabriquer une carte graphique 3D à partir de zéro ? Dylan Barrie a voulu le savoir et a passé quatre ans à essayer. Le résultat est un GPU complet qui peut théoriquement faire fonctionner d’anciens logiciels de jeu sous Windows.

furygpuComment est-il arrivé à ce résultat ?

Dylan Barrie est un développeur de jeux et un amateur de matériel informatique. Au cours des quatorze dernières années de sa carrière dans l’industrie du jeu, Barrie s’est principalement concentré sur l’aspect logiciel du rendu graphique. Cependant, il a commencé à développer un GPU personnalisé et complet 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 la base était infernal, mais après quatre ans de diligence, il peut enfin partager ses efforts maintenant que la conception de la carte additionnelle est pratiquement terminée. FuryGPU est un « véritable GPU matériel » conçu à partir d’un FPGA Xilinx Zynq UltraScale+. La carte utilise un circuit imprimé personnalisé et se connecte à l’ordinateur hôte via un emplacement PCIe.

Une fois le travail terminé, quel résultat ?

FuryGPU peut prendre en charge des caractéristiques matérielles équivalentes à celles d’une carte graphique « haut de gamme » du milieu des années 1990, avec une pile complète de logiciels et de pilotes pour les versions modernes de Windows. Le GPU peut restituer les jeux de cette décennie avec des taux de rafraîchissement jouables en temps réel. Barrie publiera ultérieurement les schémas du matériel, les logiciels et les pilotes dans le cadre d’une licence open-source.

Voici une petite vidéo du résultat sur un jeu : cliquez ici.

Ce bricoleur de matériel informatique a expliqué 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 côté logiciel, Barrie a réalisé que la création d’un GPU pouvait être un projet personnel réalisable, bien qu’intimidant.

Il a passé « d’innombrables heures » à apprendre le fonctionnement des puces FPGA et la manière de concevoir des puces par le biais de la description du matériel, de la vérification et du langage de mise en œuvre SystemVerilog. Concevoir les schémas d’une carte graphique PCIe a été un « effort herculéen », a déclaré M. Barrie. Sans surprise, l’écriture des pilotes Windows a été la tâche la plus pénible du projet.

Pour en savoir plus !

Barrie prévoit d’en dire plus 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.