Un ingénieur autodidacte réalise la complexité démesurée des GPUs - Gamerush

Un ingénieur autodidacte réalise la complexité démesurée des GPUs

La complexité insoupçonnée de la conception des GPU

Si tu as déjà étudié l’ingénierie électrique, tu sais qu’avec les bons outils, un peu de savoir-faire et beaucoup de persévérance, il est possible de concevoir un CPU de base à partir de zéro. Mais qu’en est-il des GPU ? Un ingénieur logiciel déterminé a décidé de se lancer dans cette aventure et a découvert que c’était bien plus difficile qu’il ne le pensait.

Le parcours d’Adam Majmudar

Adam Majmudar a partagé son expérience sur Twitter, ayant commencé par apprendre les fondamentaux de l’architecture des processeurs centraux, avant de se lancer dans la création d’un CPU complet. Bien sûr, ce n’est rien comparé aux puces que tu peux acheter pour ton PC de jeu, mais c’est un début.

Il a passé environ deux semaines à construire un GPU à partir de zéro, sans aucune expérience préalable. C’était bien plus difficile qu’il ne l’avait prévu.

La conception d’un GPU : un défi de taille

Les logiciels modernes et les langages de description matérielle simplifient le processus, mais c’est toujours un défi de taille. Majmudar a ensuite décidé de faire de même avec un GPU. Après tout, la structure de base d’une unité de shader n’est rien de plus qu’une unité logique arithmétique, avec quelques registres pour stocker les données, une autre unité pour charger et stocker ces données, et quelque chose pour gérer tout le processus d’opération.

Majmudar a rapidement réalisé que, bien que les CPU et les GPU partagent de nombreux aspects communs, ces derniers sont très différents dans la façon dont ils utilisent la mémoire et gèrent les threads. Il convient également de noter que Majmudar ne cherchait pas à créer un GPU « graphique », mais plutôt un GPGPU.

Un projet réussi malgré les difficultés

Malgré les difficultés, Majmudar a réussi à concevoir un GPU de base qui fonctionne après avoir résolu un certain nombre de problèmes avec l’aide d’autres personnes. Il a réussi à exécuter un petit nombre d’instructions et à effectuer des calculs matriciels en simulation logicielle. Ses conceptions de CPU et de GPU seront mises en forme physique grâce au projet Tiny Tapeout.

Un partage de connaissances précieux

Le plus beau dans le travail de Majmudar, c’est qu’il a partagé l’ensemble du projet sur Github. C’est une ressource précieuse pour quiconque souhaite en savoir plus sur le fonctionnement d’un GPU en profondeur.

Apprendre à programmer un GPU est à la portée de tous, car tous les outils nécessaires sont facilement disponibles en ligne, accompagnés d’une multitude de tutoriels et d’exercices à suivre. Cependant, apprendre à concevoir une unité de shader au niveau du transistor est une tout autre histoire, car aucun des trois grands fabricants de puces (AMD, Intel, Nvidia) ne partage ce type d’information publiquement.

Et maintenant, à ton tour !

Et maintenant, si tu me le permets, je vais me lancer dans la conception d’un GPU avec 100 000 shaders. Je me demande sous quel nom je devrais le vendre – Raforce ? Gedeon ? Vu mes compétences, GeFarce serait peut-être plus approprié, je pense.

Pour suivre l’actualité des jeux vidéos et du streaming, rejoins la newsletter Gamerush.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Retour en haut