Electrosens R&D
Electrosens ElectroTech · 11 September 2026

GPU maison à 64 000 microcontrôleurs RISC-V : le pari fou de Bitluni décortiqué

En réaction à la flambée des prix des cartes graphiques, un ingénieur allemand a entrepris de construire son propre GPU en assemblant des milliers de microcontrôleurs RISC‑V. Le prototype actuel aligne 8 192 puces ; l’objectif final est de 64 000. Ce dossier décortique l’architecture, les performances théoriques, les défis thermiques et logiciels, et replace ce projet dans la mouvance du hardware ouvert. Que vaut vraiment cette approche face à un GPU NVIDIA ou AMD ?


Pourquoi un ingénieur a décidé de construire un GPU avec 64 000 microcontrôleurs à 13 centimes

L’inflation des prix des GPU grand public et professionnels, couplée aux pénuries de composants des dernières années, a poussé certains passionnés à explorer des voies alternatives. C’est dans ce contexte que Matthias Balwierz, plus connu sous le pseudonyme de Bitluni, a entrepris un projet aussi audacieux que déroutant : fabriquer de toutes pièces un GPU à partir de microcontrôleurs RISC‑V ultra‑bon marché.

Bitluni n’est pas un inconnu dans le monde du hardware hacking. Ses précédentes réalisations – oscilloscopes DIY, synthétiseurs basés sur des microcontrôleurs, expériences avec des écrans LED – lui ont forgé une réputation de créateur ingénieux. Avec ce GPU maison, il pousse la logique du maker computing à son paroxysme : plutôt que d’acheter une carte graphique à plusieurs milliers d’euros, il a décidé d’en assembler une en série, à partir de composants vendus moins de 15 centimes pièce.

L’objectif affiché n’est pas de concurrencer directement une GeForce RTX 4090, mais de prouver qu’un système massivement parallèle, capable d’afficher des images, peut être construit avec des puces RISC‑V grand public. Le choix s’est porté sur le QingKe CH570, un microcontrôleur 32 bits cadencé à 100 MHz, embarquant USB, Bluetooth 5.0 LE et une interface 2,4 GHz. Son prix unitaire : environ 0,13 $ US (soit environ 0,50 RM). Pour 64 000 pièces, le coût des seules puces atteint 8 320 $ – une somme non négligeable, mais bien inférieure à celle d’un GPU professionnel haut de gamme.

Le prototype actuel fonctionne avec 8 192 puces. Bitluni a déjà présenté des démonstrations vidéo montrant l’affichage d’images simples sur une matrice de LEDs RGB, chaque puce pilotant directement une LED. La version finale visée, avec 64 000 cœurs, devrait offrir une résolution de 320×200 pixels – soit un retour aux standards des années 80, mais avec un nombre de processeurs digne d’un supercalculateur d’époque. Pour mémoire, une résolution Full HD aurait nécessité plus de deux millions de puces, un coût et une complexité rédhibitoires.

L’article publié par abpro-india.de confirme ces chiffres et précise l’équipement utilisé par le bricoleur : un CH570 Dev Kit pour le développement logiciel, une DP100 Mini PSU pour l’alimentation (soutenue par un chargeur USB‑C de 65 W et un câble de 100 W), une station de soudure Aifen A9ED et une myriade d’outils de précision. Le projet repose donc sur du matériel de prototypage accessible, renforçant son caractère maker.


Un réseau de 64 000 pixels pensé comme un supercalculateur des années 80

L’architecture de ce GPU DIY s’inspire ouvertement des premiers supercalculateurs vectoriels, en particulier le Cray‑1. Bitluni a opté pour un design circulaire : les cartes électroniques, disposées en arc de cercle, accueillent chacune un bloc de 16×32 pixels. Chaque pixel est une LED RGB soudée directement sur le microcontrôleur CH570 qui la pilote. Ce choix de LED basiques, plutôt que des LED adressables plus évoluées, a été dicté par le budget : des LED adressables auraient fait exploser le coût du projet.

Nombre de cœurs (GPU DIY vs GPU commerciaux)GPU DIY (objectif)64000cœursRTX 309010496cœursGTX 10601280cœurs

L’organisation est hiérarchique. Les 64 000 puces sont réparties en groupes de 32, chaque groupe étant supervisé par un contrôleur CH32V (un autre microcontrôleur RISC‑V). Ce contrôleur assure la coordination locale : il reçoit les instructions de rendu, les traduit en commandes pour chaque CH570, et gère la synchronisation intra‑groupe. L’ensemble des contrôleurs CH32V est lui‑même connecté à une unité centrale – probablement un PC hôte ou un FPGA – qui envoie les trames d’affichage.

Caractéristique Prototype actuel (8 192 puces) Cible finale (64 000 puces)
Microcontrôleur QingKe CH570 (RISC‑V 32 bits, 100 MHz) Identique
Résolution ~91×90 pixels (8 192 LEDs) 320×200 pixels
Organisation 16×32 pixels par carte, design circulaire Identique, 40 cartes ?
Contrôleurs locaux CH32V (un pour 32 puces) Identique (≈2 000 contrôleurs)
Mémoire partagée Aucune (chaque puce a sa RAM interne) Aucune

L’absence de mémoire partagée globale est une contrainte majeure. Chaque CH570 dispose de sa propre RAM interne, mais il n’existe pas de VRAM centralisée comme sur un GPU classique. Les données d’affichage doivent être distribuées par les contrôleurs CH32V, ce qui impose une topologie de réseau en étoile à plusieurs niveaux. La synchronisation inter‑puces repose sur des signaux d’horloge et des lignes de contrôle dédiées, probablement via les interfaces GPIO et SPI des microcontrôleurs.

Cette architecture rappelle les massively parallel processor arrays des années 80 (Connection Machine, ILLIAC), mais avec des composants modernes et un coût dérisoire. Le défi principal est la latence de communication : chaque groupe de 32 puces doit recevoir ses instructions en temps réel pour éviter un décalage visible à l’écran. Bitluni n’a pas divulgué les détails de son protocole de synchronisation, mais on peut supposer qu’il utilise une trame d’horloge commune et des buffers locaux.

L’article d’abpro-india.de insiste sur l’aspect distribué : « Chaque microcontrôleur ne travaille pas de manière isolée. Au contraire, ils collaborent, se répartissant les tâches de calcul et synchronisant les données pour construire l’image finale. » Une description qui évoque une « gigantesque ruche d’électronique », où chaque abeille contribue à la fresque visuelle. Le site souligne également l’intégration GPU/écran : chaque puce pilote directement son LED RGB, éliminant le besoin d’un signal vidéo externe. Une approche qui constitue « une véritable fenêtre ouverte sur le cœur même du rendu graphique ».


Aucun benchmark, mais des promesses : que peut vraiment faire ce GPU ?

C’est le point le plus délicat de ce dossier : aucune mesure de performance chiffrée n’est disponible dans les sources consultées. Pas de GFLOPS FP32 ou FP64, pas de bande passante mémoire, pas de latence de rendu. Le projet en est encore au stade de prototype fonctionnel, capable d’afficher des images statiques et probablement des animations simples. Bitluni n’a pas communiqué de résultats de benchmarks, ni comparé son système à un GPU NVIDIA ou AMD.

On peut néanmoins établir quelques ordres de grandeur théoriques.

  • Fréquence : 100 MHz par cœur. En comparaison, un GPU moderne tourne entre 1,5 et 2,5 GHz. Même avec 64 000 cœurs, la fréquence ridiculement basse limite le débit d’instructions.
  • Parallélisme massif : 64 000 cœurs, c’est bien plus que les 10 496 cœurs CUDA d’une RTX 3090. Mais chaque cœur CH570 est un microcontrôleur 32 bits sans unité de calcul flottant dédiée (ou très rudimentaire). Les capacités de calcul vectoriel sont quasi nulles.
  • Résolution : 320×200 pixels, soit 64 000 pixels. Chaque pixel est géré par un cœur indépendant. C’est l’équivalent d’un écran VGA basse résolution. Aucune possibilité de rendu 3D texturé, de shaders ou d’effets modernes.
  • Mémoire : chaque puce dispose de quelques kilo-octets de RAM interne. Pas de VRAM partagée, pas de cache cohérent. Impossible de charger des textures ou des buffers de géométrie complexes.

En l’état, ce GPU DIY ne peut pas exécuter un jeu moderne, ni même un benchmark comme 3DMark. Il est conçu pour de l’affichage pixel‑par‑pixel, du calcul parallèle simple (par exemple, simulation de particules, affichage de fractales, ou rendu de motifs géométriques basiques). Les charges de travail testées par Bitluni ne sont pas documentées ; on ignore s’il a tenté du calcul scientifique (addition matricielle, FFT) ou du minage de cryptomonnaies.

Le projet reste donc une preuve de concept – impressionnante par son échelle, mais très loin des capacités d’un GPU commercial même d’entrée de gamme. Une GTX 1060, sortie en 2016, offre 1 280 cœurs CUDA à 1,5 GHz, 6 Go de VRAM, et une résolution 1080p en 3D. Le GPU de Bitluni ne peut rivaliser sur aucun de ces points.


2 161 watts pour 320×200 pixels : le cauchemar du refroidissement

La consommation électrique annoncée est l’un des chiffres les plus frappants du projet. Selon TechSpot, le prototype actuel consommerait 2 161 watts, soit 655 ampères sous 3,3 V. Ce chiffre est ambigu : pourrait‑il correspondre à la version 64 000 puces plutôt qu’au prototype 8 192 ? Un calcul simple donne une piste.

Source : techspot.com

Chaque CH570 consomme individuellement environ 10 mA sous 3,3 V, soit 0,033 W. Pour 8 192 puces, on obtiendrait 270 W ; pour 64 000, 2 112 W. Les 2 161 W annoncés sont très proches de cette dernière estimation, ce qui laisse penser que le chiffre concerne la configuration finale. Mais l’article de TechSpot le présente dans le contexte du “current setup” après avoir décrit le prototype à 8 192 puces. L’ambiguïté n’est pas levée.

Quoi qu’il en soit, dissiper plus de 2 kW dans un espace restreint est un défi thermique colossal. Bitluni avait envisagé un refroidissement par immersion liquide, mais l’a abandonné pour des raisons de coût et d’impact environnemental. Aucun système de refroidissement actif (ventilateurs, radiateurs, waterblock) n’est décrit dans les sources. On ignore comment le prototype actuel évacue la chaleur – peut‑être par convection naturelle, étant donné la faible densité thermique par cœur (≈0,034 W/puce, soit 34 mW). Mais à l’échelle de 64 000 puces, la surface totale est grande, et la chaleur doit être extraite efficacement.

La densité thermique surfacique n’est pas calculable sans connaître la taille des cartes. On peut supposer que chaque carte de 16×32 pixels (512 puces) dissipe environ 17 W (512 × 0,033 W), ce qui est gérable avec un petit dissipateur. Le problème est l’alimentation : fournir 655 A sous 3,3 V nécessite des convertisseurs DC‑DC puissants et un câblage en cuivre épais. Bitluni utilise une alimentation Corsair WS3000 ATX (probablement une unité de 3 000 W) et des convertisseurs 12 V → 3,3 V. L’article d’abpro-india.de mentionne également une DP100 Mini PSU comme source d’alimentation de test, soutenue par un chargeur USB‑C de 65 W – une solution de banc, loin des besoins de la version finale.

Aucune mesure de température (en charge ou au repos) n’est rapportée. Le refroidissement reste l’un des aspects les plus flous du projet.


Flasher 64 000 puces avec une imprimante 3D : l’ingénierie logicielle au défi

Programmer 64 000 microcontrôleurs individuels est un cauchemar logistique. Bitluni a mis au point un outil de programmation à trois broches monté sur une imprimante 3D. Le principe : l’imprimante déplace une tête de flashage au‑dessus de chaque puce, établit un contact électrique via des pointes, et téléverse le firmware. Ce système permet de flasher les puces en lot, mais le temps nécessaire pour 64 000 unités reste considérable.

L’article d’abpro-india.de apporte un éclairage supplémentaire : Bitluni a développé Pixel Pump, un logiciel dédié à la programmation massive des microcontrôleurs, dont la version 2 devrait simplifier encore le processus. Ce nom n’apparaissait pas dans les sources précédentes ; il s’agit donc d’une information récente à intégrer. Le logiciel est probablement utilisé conjointement avec l’imprimante 3D pour automatiser le flashage.

Du côté logiciel, les sources restent muettes sur le langage utilisé – probablement du C ou du C++ avec le SDK propriétaire de WCH (le fabricant du CH570). Aucune mention d’un compilateur RISC‑V standard (GCC, LLVM) ou d’un débogueur. La pile logicielle est embryonnaire : pas de runtime, pas d’API de rendu, pas de support d’OpenCL ou de CUDA. Chaque développeur devrait écrire du code bas niveau pour contrôler les LEDs et gérer la synchronisation.

La difficulté de programmation parallèle est immense. Les 64 000 cœurs ne partagent pas de mémoire ; ils communiquent via des signaux externes. Écrire un programme qui exploite efficacement cette architecture sans deadlock ni race condition relève de la programmation concurrente avancée. Bitluni n’a pas publié de code source ni de documentation, ce qui limite la reproductibilité.

En comparaison, l’écosystème RISC‑V pour le calcul graphique progresse ailleurs. Le projet Vortex 3.0 (Georgia Tech) a récemment ajouté un pipeline 3D complet et le support de Vulkan, avec des flows ASIC. De son côté, Oxmiq Labs, fondé par l’ancien architecte en chef d’Intel Raja Koduri, développe un GPU RISC‑V open source. Ces initiatives offrent des piles logicielles bien plus matures, avec compilateurs, débogueurs et API standard. Le projet de Bitluni, lui, reste un exercice de bare‑metal extrême.


Ce GPU DIY prouve‑t‑il que RISC‑V peut rivaliser avec NVIDIA ?

La réponse est nuancée. D’un côté, le projet démontre la flexibilité de l’ISA RISC‑V : des microcontrôleurs grand public, conçus pour l’IoT, peuvent être détournés pour du calcul graphique massivement parallèle. C’est une preuve de concept forte pour l’ouverture et la modularité de l’architecture.

Source : lemon-web.net

De l’autre côté, les performances sont ridicules face à un GPU commercial. Le parallélisme massif ne compense pas la fréquence dérisoire, l’absence d’unités de calcul flottant et le manque de mémoire partagée. Ce GPU DIY ne peut pas exécuter un jeu moderne, ni même un benchmark standard. Il s’agit d’une démonstration technique, pas d’une alternative crédible.

Le projet s’inscrit néanmoins dans une tendance plus large : celle du hardware ouvert. En 2026, l’écosystème RISC‑V s’est considérablement étoffé, avec des initiatives comme Vortex, Oxmiq Labs, ou encore les travaux de Georgia Tech sur les pipelines 3D open source. Bitluni apporte sa pierre à l’édifice en montrant qu’un GPU peut être construit avec des composants à 13 centimes, même si les performances restent symboliques.

Pour les makers et les passionnés, ce projet est une source d’inspiration : il prouve que la créativité et la persévérance peuvent repousser les limites du matériel grand public. Pour l’industrie, il rappelle que RISC‑V n’est pas qu’une architecture pour microcontrôleurs IoT, mais une base viable pour des expérimentations audacieuses.


Sources

Source : generation-nt.com
Article recherché et rédigé automatiquement · Magazine Electrosens
📬 Restez à la pointe
Recevez chaque semaine les nouveautés de ce magazine par email.
💬 Une remarque, une correction ?
Aidez-nous à améliorer cet article. Nous prenons en compte vos retours.

Laisser un commentaire

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