Résumé :
À mesure que les processeurs d'intelligence artificielle deviennent de plus en plus populaires, de plus en plus de PC commencent à être équipés d'unités de traitement de réseau neuronal (NPU) spécifiquement utilisées pour l'informatique IA. Cependant, ce type de matériel est actuellement principalement utilisé pour l'inférence de modèles d'IA locaux et le traitement d'images, et les ordinateurs de bureau Windows quotidiens s'appuient encore principalement sur des cartes graphiques intégrées ou des cartes graphiques indépendantes pour compléter le rendu graphique.

Récemment, une équipe de développement appelée labscommunity a lancé le projet open source npu-driver, mettant en œuvre avec succès une expérience assez particulière : permettre à Windows 11 d'effectuer la synthèse graphique du bureau entièrement via le NPU, au lieu de s'appuyer sur le GPU traditionnel. Bien que la vitesse de fonctionnement actuelle soit extrêmement lente, ce résultat prouve que le NPU, qui était à l'origine principalement utilisé pour les calculs d'intelligence artificielle, peut également entreprendre certaines tâches de traitement graphique traditionnelles.
Le projet est sous licence open source Apache 2.0 et le code source a été rendu public sur GitHub. L'objectif de l'équipe de développement est d'explorer une question : le travail de rendu du bureau initialement effectué par le GPU peut-il être entièrement transféré au NPU sans modifier l'application Windows et le compositeur du bureau ?
Afin d'atteindre cet objectif, les développeurs ont conçu un pilote d'affichage spécial qui intercepte les opérations graphiques initialement envoyées à la carte graphique par le gestionnaire de fenêtres de bureau Windows (DWM), puis convertit ces opérations en tâches informatiques que la NPU peut gérer.
Les applications Windows s'exécutent toujours de manière traditionnelle. Le Bloc-notes, l'Explorateur de fichiers, le menu Démarrer, Microsoft Edge et d'autres fenêtres ne nécessitent pas d'adaptation particulière au NPU. Ce qui a vraiment changé, c'est le chemin de traitement graphique sous-jacent : les tâches de composition de bureau initialement effectuées par le GPU ont été réaffectées au NPU.
En termes d'implémentation spécifique, npu-driver utilise un pilote de mode utilisateur Direct3D 10 personnalisé pour enregistrer les opérations graphiques sous forme de lots de données d'image, qui sont ensuite transmises au NPU Intel pour traitement via OpenVINO et un cœur de calcul SHAVE dédié. Le système implémente également son propre module de traitement de rastérisation, responsable des opérations graphiques traditionnelles telles que le traitement des sommets, l'échantillonnage de texture et la fusion des couches.
Actuellement, cette solution a été testée sur des ordinateurs portables équipés de processeurs Intel Panther Lake. Panther Lake utilise l'architecture NPU de cinquième génération et la puissance de calcul NPU des processeurs associés atteint 45 à 50 TOPS.
Cependant, les résultats expérimentaux ont également révélé un problème très évident : les performances.
La vitesse actuelle de rafraîchissement du bureau de npu-driver n'est que de 2 à 3 images par seconde, et certains tests sont même aussi faibles que 0,6 images. En comparaison, un bureau Windows standard fonctionne généralement à 60 images par seconde ou plus. Même si les jeux ne sont pas impliqués, le simple fait de déplacer des fenêtres, d'ouvrir l'Explorateur de fichiers ou d'utiliser la barre des tâches peut devenir extrêmement lent.
Autrement dit, cette solution prouve actuellement que le NPU peut entreprendre des tâches complètes de synthèse graphique de bureau, mais elle est loin du niveau de performances requis pour une utilisation quotidienne.
Les développeurs visent à augmenter le taux de rafraîchissement à 30 images par seconde, mais ils sont encore loin de cet objectif.
Afin d'éviter de graves échecs pendant l'expérience, l'équipe de développement a également conçu un mécanisme de restauration automatique. Lorsqu'une erreur se produit dans le pilote NPU ou que l'utilisateur demande activement à changer, le système peut réutiliser la carte graphique intégrée ou la carte graphique indépendante pour terminer le rendu graphique. Cependant, ce mécanisme de récupération présente encore certaines limites. Lors de certains tests, les positions de toutes les fenêtres d'application n'ont pas pu être entièrement restaurées.
Le développeur du projet a souligné que npu-driver n'est actuellement qu'un prototype de recherche et non un produit mature destiné aux consommateurs. Il nécessite du matériel Intel Panther Lake spécifique, des pilotes NPU compatibles et des outils de développement supplémentaires. Les utilisateurs ordinaires ne peuvent pas simplement l’installer et faire fonctionner un système Windows 11 sans GPU.
L'intérêt de cette expérience n'est pas réellement de prouver que le NPU peut remplacer la carte graphique, mais d'explorer comment redistribuer le travail des différentes unités de calcul au sein des processeurs modernes.
Les processeurs, GPU et NPU actuels ont chacun des objectifs de conception différents. Le GPU est bon pour le calcul graphique parallèle à grande échelle, tandis que le NPU est spécialement optimisé pour les opérations matricielles et le raisonnement sur les réseaux neuronaux. Laisser le NPU prendre en charge les tâches de rendu de bureau signifie que les développeurs doivent reconvertir les processus de traitement graphique traditionnels en tâches adaptées aux unités informatiques de réseau neuronal, ce qui en soi est un projet assez complexe.
Cependant, si l'efficacité du traitement peut être considérablement améliorée à l'avenir, le NPU pourrait être en mesure de prendre en charge certaines des tâches de bureau légères initialement effectuées par le GPU, libérant ainsi les ressources du GPU pour les jeux, le traitement vidéo ou l'inférence locale de l'IA.
À l'heure actuelle, npu-driver est encore loin d'être vraiment pratique, mais il a réalisé une vérification technique intéressante : le bureau Windows 11 n'est pas seulement capable d'effectuer un rendu synthétique via les GPU traditionnels. Le NPU des processeurs modernes peut également prendre en charge ce travail, mais le prix des performances payé à ce stade est trop élevé.
En savoir plus :
https://github.com/labscommunity/npu-render
Commentaires