Commentaires : Il construit sa propre carte graphique et réussit à faire tourner Quake dessus

Il lui aura fallu 4 ans, mais le résultat est là : le développeur Dylan Barrie a construit, sur son temps libre, une impressionnante carte graphique capable de faire tourner Quake à 60 images par seconde.

1 « J'aime »

Dubitatif… La carte graphique, je veux bien car pour la partie CMS on trouve du matos relativement accessible. Si le CI est multi layers, déjà c’est un peu plus compliqué mais alors pour le GPU et ses millions de transistors… mhhh… ?!? Pas de photos ?

1 « J'aime »

Allelhuia… Je pensais que c’était plus possible pour un amateur (éclairé) de faire une carte GPU. Admiration…
Et que de questions sur ce projet…
Programmer un circuit FPGA? OMG. rien que ce travail de dev. à dû lui coûter un bras (pas les Xilinx Kria SoMs mais les outils de reprogrammation et de tests).

Si c’est open source et que des fans s’y attachent, sera t-il possible de faire évoluer ce projet?
Comment sont géré les API DirectX, OpenGL et quelles versions?

1 « J'aime »

« Si le marché des GPU se porte bien, force est de constater que l’on ne sait pas toujours comment ces périphériques fonctionnent. » :person_facepalming:

Il n’a pas fabriqué un GPU « traditionnel », mais a utilisé un FPGA.
D’ou d’ailleurs l’utilisation de System Verilog si pellet de « programmer » des FPGA.

5 « J'aime »

Merci pour ces précisions :slightly_smiling_face: .

Il avait donc beaucoup, mais vraiment beaucoup de temps à perdre :sweat_smile:
Surtout que n’importe quel CPU fait tourner Quake maintenant, avec son circuit graphique intégré même famélique.

1 « J'aime »

Oui , mais , c’est là où est son exploit ! Il ne fait rien de tout ca , Il a fabriquer sa carte graphique !
C’est son passe temps, y en a qui font des tables ou qui tricotent, on ne vient pas leur dire qu ikea fait 3 fois mieux ou que chez Auchan tu as des tricot a 3€ , on salue la ferveur et la passion de cette personne qui a investi beaucoup de temps libre pour sa passion !
Des personnes qui fabriquent une carte graphique aussi « performante » ne courent pas les rues , ils sont tres peu nombreuses , lui c’est carrément un ovni.

19 « J'aime »

Cela dit, un GPU traditionnel se fait aussi en VHDL ou équivalent de nos jours.

La différence, c’est que dans un cas on « flashe » le FPGA pour qu’il « simule » le fonctionnement du circuit, dans l’autre cas on génère le schéma du circuit à partir du VHDL, et on passe ça à un fondeur pour le graver dans une puce (je simplifie hein, y a pas mal de travail d’optimisation entre la synthèse VHDL et ce qui est finalement gravé, ce travail se faisant généralement en collaboration entre les ingénieurs du concepteur de la puce et ceux du fondeur).

Pas plus que ceux qui passent du temps à regarder des films, jouer à des jeux, etc… C’est simplement un loisir différent.

Et c’est même quelque chose qui peut lui être bénéfique dans son travail. Je suis peut-être un peu vieux jeu, mais je trouve justement dommage que beaucoup de développeurs aujourd’hui soient aussi loin du matériel, certains n’ont vraiment quasiment plus aucune notion de comment ça fonctionne à bas niveau, alors qu’avoir une connaissance de ça, au moins dans les grandes lignes, c’est une grande aide pour développer des logiciels efficaces…

Quand j’étais à l’école, on avait implémenté un CPU compatible 68000 sur des Xilinx Spartan, c’était super enrichissant comme projet, même pour moi qui n’avait absolument pas l’intention de faire carrière dans le hard (:sweat_smile:). Et puis c’est émouvant le moment où pour la première fois ton afficheur affiche le résultat que tu attends, c’est un peu comme les premiers pas d’un bébé :rofl:

7 « J'aime »

Si apprendre et comprendre sont une perte de temps, cela fait 50 ans que je perds le mien.

Ça ne vous dérange pas d’utiliser au quotidien des objets que vous ne comprenez pas, dont vous n’avez aucune idée d’où, comment, par qui ils sont fabriqués et comment ils fonctionnent ? Moi si, depuis enfant. Lorsqu’on m’offrait le dernier jouet à la mode, la seule chose qui m’intéressait, c’était de le démonter sur le champ pour en comprendre le fonctionnement, le modifier, ou en créer une amélioration. Cette logique ne m’a jamais quitté, même si j’ai trouvé d’autres moyens avec le temps pour apprendre et comprendre sans forcément tout démonter.

9 « J'aime »

Sacrement impressionnant. On s’en fout que ce soit utile, ce qui est intéressant c’est que le mec est passionné.

6 « J'aime »

« Je suis peut-être un peu vieux jeu, mais je trouve justement dommage que beaucoup de développeurs aujourd’hui soient aussi loin du matériel, certains n’ont vraiment quasiment plus aucune notion de comment ça fonctionne à bas niveau, alors qu’avoir une connaissance de ça, au moins dans les grandes lignes, c’est une grande aide pour développer des logiciels efficaces… » => Là dessus je peux qu’approuver. Cela dit, on peut le voir aussi différemment : Aujourd’hui, il y a de plus en plus de couche d’abstraction qui rendent le dev accessible à plus de monde. Forcement ce genre de profil ne sera pas facilement ouvert au « bas niveau » qui demande quand meme pas mal d’investissement :wink:

4 « J'aime »

:wink:

1 « J'aime »

Idem et j’approuve.
Lorsque j’ai abordé la fac (MDR… BAC H), à mon époque, il y avait aucune différence entre les cours d’électronique digitale et la programmation… tout se faisait en hexa et au mieux en fortran ou pascal compilés. Y compris les devs de jeux (écrits en hexa Z-80 et 8086). On était obligés de comprendre le bas niveau et les travaux sur les registres pour composer et on arrivait à faire des miracles avec pas grand chose.

De nos jours, les dev se font en cross-compilé (orienté objet) et on ne prête même plus attention aux limites du hard et ça fait des bouses ou il faut tout en superlatif (CPU, RAM, HDD/SSD) pour jouer au moindre jeu, un simple éditeur de texte et que dire d’un OS.

Heureusement il y a encore des amateurs passionnés pour démontrer qu’en optimisant la programmation hard/soft au niveau bas (assembleur), on peut largement améliorer les performances (facteur +100) tout en réduisant les tailles des exécutables. MenuetOS (expérimental) en est le plus représentatif : http://www.menuetos.net/

1 « J'aime »

C’est passionnant de voir à quel point certains méprisent le travail d’autrui.

2 « J'aime »

Alors.
Déjà, est-ce un « problème » ?
Je veux dire, quelqu’un qui peint, qui lit, qui regarde des séries / films / fait du sport, etc. perd-il du temps ?

Et j’ai envie de te dire, non.

Dans la mesure où le gars a augmenté son niveau en matière de conception de circuit imprimé, de développement de drivers Windows, a appris le langage SystemVerilog (pour en faire un truc méga concret), etc …

Et puis très honnêtement, aimant le matériel et la technique, juste sur ce dernier point, je trouve cela fantastique.

Certes et évidemment, mais le but n’est pas de concurrencer les GeForce et autres Radeon.

De mémoire, il y a au moins Verilator et GHDL en logiciel libre.
Après, je ne connais que de nom, je ne sais pas s’il est possible « tout » faire avec.

1 « J'aime »

… Et c’est à ce moment là que j’ai compris que je n’y entraverais jamais que dalle et que je n’étais clairement pas fait pour ça :disguised_face: . Je n’en reste pas moins admiratif pour tous ces « pionniers » qui ont permis d’arriver là où nous en sommes.
J’ai toujours en ma possession le témoin de mon échec :grin: :
image
image

[Mode papy Mougeot: ON]
Moi, de mon temps, il n’y avait pas de chaîne de développement libre pour les FPGA Xilinx (j’ai un peu bidouillé des Spartan à l’époque). Il me semble que j’avais un truc pour compiler du Verilog, mais c’est vieux.
[Mode papy Mougeot : OFF]

Et il faut se dire qu’aujourd’hui, dans l’industrie, ce ne sont pas les mêmes personnes qui développent les puces, le firmware et les pilotes. C’est un boulot monstre dans chaque domaine qui a ses propres spécialistes.
Le travail accomplit ici est particulièrement remarquable.

Aussi les couches se sont empilées au dessus, dur de les maîtriser toutes ou alors ça demande bcp d’années d’expérience. Là il va du driver au hardware, il ne lui reste plus qu’a recoder quake et son moteur sur un cloud, un OS entre les deux, et il aura couvert à peu près toutes les couches!

1 « J'aime »

C’est un fpga qui est monté…
Le pcb reste ‹ ‹ assez simple › › en soit :slight_smile: