Un connaisseur de matériel bien connu essaie d'utiliser 64 000 microcontrôleurs RISC-V bon marché pour construire un « GPU fait maison » et combiner le panneau d'affichage et l'unité de calcul en un seul pour former un système de traitement graphique très expérimental. Ce joueur s'appelle Matthias Balwierz, dont le nom en ligne est Bitluni. Au lieu de s'appuyer sur un GPU performant, il distribue les tâches de calcul graphique à des milliers de microcontrôleurs, dont chacun est à la fois un processeur et correspond directement à un pixel de l'écran. Une LED RVB de base est soudée à chaque puce, formant finalement un « réseau informatique auto-éclairant » composé d'un grand nombre de pixels électroluminescents.
Si l’on veut obtenir un affichage Full HD, cette conception nécessiterait théoriquement plus de 2 millions de puces, ce qui rendrait le coût et la complexité technique insupportables. Balwierz a donc réduit son objectif à une résolution de 320 × 200, et même dans ce cas, la version complète nécessiterait toujours 64 000 microcontrôleurs. Le prototype actuellement en construction est plus petit et comprend 8 192 puces montées sur plusieurs circuits imprimés personnalisés. Chaque carte de circuit imprimé est responsable d'une zone de 16 × 32 pixels et les cartes sont disposées en anneau, en partie inspirées de la conception classique du superordinateur Cray-1, donnant l'apparence générale d'un mur de LED clignotantes à haute densité.
Afin de contrôler les coûts, le projet a abandonné les perles de lampe RVB adressables, plus puissantes et plus chères, et a choisi à la place de souder directement une LED RVB ordinaire sur chaque puce. Le dispositif principal utilisé est le microcontrôleur domestique QingKe CH570, qui coûte environ 0,13 $ US. Il dispose d'un processeur RISC-V 32 bits intégré avec une fréquence maximale de 100 MHz. Il intègre également un contrôleur USB, un module émetteur-récepteur radiofréquence 2,4 GHz et la prise en charge Bluetooth 5.0 LE. On peut dire qu'il est « petit mais possède tous les organes internes » en termes de prix. Même ainsi, les coûts des appareils s'additionnent rapidement lorsque les quantités atteignent des dizaines de milliers : seulement 64 000 puces coûtent plus de 8 000 $, sans compter les circuits imprimés, les alimentations et autres composants de support.

En termes d'architecture système, Balwierz adopte un schéma de gestion hiérarchique pour regrouper et gérer un grand nombre de « petites puces » afin d'éviter que toute la logique de contrôle ne soit placée sur une seule unité centrale de traitement. Chaque 32 microcontrôleurs CH570 est uniformément programmé et coordonné par une puce de contrôle CH32V plus puissante pour maintenir l'ordre et la synchronisation de base dans une structure parallèle à grande échelle. Cette conception hiérarchique peut non seulement garantir l'expansion de l'échelle, mais également maintenir la contrôlabilité et la fiabilité du système.
La consommation d’énergie était l’un des plus grands défis de cette expérience. La consommation actuelle d'un seul microcontrôleur est d'environ 10 milliampères, ce qui semble insignifiant ; mais lorsque ce nombre atteint des milliers, voire des dizaines de milliers, la consommation totale d'énergie s'accumule de façon exponentielle. La consommation électrique globale du système prototype actuel est d'environ 2 161 watts, ce qui correspond à environ 655 ampères à 3,3 volts. Pour répondre à un besoin de courant aussi énorme, Balwierz a sélectionné une alimentation Corsair WS3000 ATX et a conçu un module de conversion de puissance personnalisé pour abaisser efficacement la tension de 12 V à 3,3 V tout en étant capable de résister au courant de sortie extrêmement élevé.

Presque tous les aspects matériels sont conçus et fabriqués en interne par Balwierz, y compris les circuits imprimés, les systèmes d'alimentation électrique et les outils de test. La conception de PCB à six couches utilisée dans le projet était sa première tentative, proche de la limite supérieure de conception des capacités de fabrication de cartes de JLCPCB. Au début, il a envisagé d'utiliser le refroidissement par immersion pour résoudre le problème de chauffage en cas de consommation d'énergie élevée, mais en raison de problèmes de coût et d'environnement, il a temporairement abandonné ce projet.
En termes de processus de programmation et de production, ce projet est également plein de « saveur geek ». Pour répondre aux besoins de gravure de dizaines de milliers de puces, il n'a pas choisi d'écrire manuellement une par une. Au lieu de cela, il a créé un outil de programmation de contacts à trois broches et a utilisé une imprimante 3D pour réaliser un positionnement automatique. La méthode spécifique est la suivante : installer la tête de programmation sur la plate-forme de mouvement de l'imprimante 3D, envoyer des instructions G-code à l'imprimante via un script Python et permettre à la tête de programmation de se déplacer avec précision vers chaque microcontrôleur en séquence, complétant automatiquement le contact et la gravure, ce qui réduit considérablement les opérations manuelles répétitives et ennuyeuses.

Actuellement, ce projet de GPU fait maison en est encore à un stade d’exploration relativement précoce et ne peut être comparé à aucune carte graphique commerciale en termes de performances, d’efficacité énergétique ou de taille. Cependant, l’objectif de Balwierz n’est pas de créer une carte graphique « pratique » hautes performances, mais de vérifier une idée extrême : utiliser des unités de traitement massives à faible coût pour construire un système de traitement graphique distribué et fortement parallèle et repenser la forme de base du GPU. Quant à savoir si ce système pourra exécuter des jeux classiques tels que "Doom" à l'avenir, on ne sait toujours pas. Mais au moins, cela a démontré efficacement le potentiel des composants bon marché dans les architectures innovantes - à condition que quelqu'un soit prêt à sortir du cadre traditionnel de conception de GPU et à essayer de redéfinir le concept de « carte graphique » d'une manière complètement différente.