IT之家 – Le 25 octobre, NVIDIA a lancé les cartes graphiques de la série GeForce RTX 30 (code nommage Ampere), qui possèdent évidemment encore un grand potentiel de calcul non exploité. Utilisateur de GitHub, Zagitta, a développé un nouveau projet open source appelé GPU Unlock, permettant de lever certaines restrictions de performance définies manuellement sur les cartes Ampere. À des charges spécifiques, le débit de calcul des nœuds de tensor peut être presque doublé, sans avoir besoin de modifier les pilotes NVIDIA ni de réécrire permanentement le VBIOS de la carte graphique.
IT Home a noté que ce projet vise spécifiquement une limitation de la vitesse d’émission des instructions : lors des opérations de calcul sur des trames FP16/BF16 utilisant l’accumulation en FP32, la vitesse de fonctionnement des cartes graphiques ampere de gamme grand public est inférieure par rapport aux cartes professionnelles. Une fois cette limitation levée, l’outil peut exploiter les performances de calcul supplémentaires que possède intrinsèquement le matériel de la carte graphique.
Il est intéressant de noter que GPU Unlock repose sur des recherches antérieures concernant les cartes graphiques de minage de cryptomonnaies CMP d’NVIDIA. Il combine la technologie de déverrouillage du firmware du projet CMP avec un plan d’initialisation préalable, en utilisant un module du noyau Linux pour exécuter des opérations avant le chargement du pilote de carte graphique NVIDIA. Ce module modifie les registres de choix de vitesse matérielle correspondants et effectue une réinitialisation au niveau fonctionnel (FLR) ; par la suite, le pilote original peut initialiser normalement la carte graphique.
Cela signifie également que les utilisateurs n’ont plus besoin de patcher le pilote chaque fois qu’une nouvelle version est publiée. Les développeurs indiquent actuellement que le pilote prend en charge les modèles GPU GA102, GA103, GA104 et GA106, couvrant la plupart des modèles de la série RTX 30. Cependant, tout neci carte graphique n’est pas compatible, et il n’y a pas de garantie que des améliorations de performance soient obtenues.
L’amélioration de performance peut être considérable. Selon les données de tests de benchmark publiées dans le dépôt GitHub du projet, pour une RTX 3090 Ti avec un plafond de consommation de 450W, les résultats obtenus lors des tests de multiplication matricielle dense utilisant FP32 sont les suivants :
Ces améliorations ne se produisent pas uniquement sur le RTX 3090 Ti. Un utilisateur du RTX 3080 Ti a rapporté que, sous une limitation de consommation de la carte graphique à 315W, le rendement BF16 est passé de 71,59 TFLOPS à 113,98 TFLOPS, et le rendement TF32 de 35,65 TFLOPS à 65,28 TFLOPS. Un rapport de compatibilité pour le RTX 3080 10GB indique également qu’en respectant la limite de consommation originale de 320W de la carte graphique, les performances FP16/BF16 sont passées d’environ 65 TFLOPS à 110–113 TFLOPS. Ces résultats de test ont également été largement discutés sur la plateforme X.
Quel est l’état dans les applications réelles ? Heureusement, les utilisateurs de la communauté ont commencé à tester cette fonctionnalité d’activation sous charge AI réelle, et les résultats initiaux sont plutôt encourageants.
Le dernier utilisateur de la RTX 3090 Ti sur Reddit a effectué des tests de performance avec ComfyUI : l’efficacité du MOSS-Image SFT BF16 a augmenté de 58,6 %, celle du Qwen-Image 2.1 Turbo BF16 de 57,2 %, et celle du Z-Image Turbo BF16 de 56,1 %. En revanche, avec le mode de précision INT8, l’augmentation est très faible : le MOSS-Image SFT INT8 n’a augmenté que de 0,3 %. Le testeur a également indiqué que les résultats de décodage des images générées en mode par défaut et après déverrouillage étaient identiques.
La raisonnement des grands modèles de langage (LLM) est également un scénario potentiellement bénéfique, mais l’amélioration dépend fortement du type de charge. Par exemple, un rapport sur la compatibilité avec une RTX 3090 indique que le traitement des prompts et le rendement de raisonnement de vLLM augmentent de 33 %, mais la vitesse de génération des tokens ne change pratiquement pas. Cela est facile à comprendre : le goulot d’étranglement dans le processus de décodage des grands modèles de langage réside souvent dans la bande passante de la mémoire visuelle, et non dans le rendement de calcul initial du noyau tensoriel.
Une autre avancée notable est la solution de mise en œuvre du version expérimentale de Windows, qui ne utilise plus les modules de noyau Linux initial, mais se base sur le mode UEFI. Les développeurs ont enregistré un succès pour le RTX 3090, avec une amélioration de l’écoulement de calcul BF16 d’environ 82,5 %. Cependant, cette version reste expérimentale et ne convient qu’à des équipements spécifiques, ce n’est pas une version officielle de Windows disponible à tous.
Cette solution présente également des limites évidentes. GPU Unlock ne augmente pas la bande passante de la mémoire vidéo, ne débloque pas plus de cœurs CUDA, et ne permet pas non plus d’accélérer automatiquement toutes les charges de travail. Au moins un avis concernant le RTX 3080 Ti 20GB indique que le processus de déblocage se fait avec succès, mais les performances en BF16 ne montrent pas l’amélioration attendue, ce qui montre que l’effet n’est pas applicable à tous.
En ce qui concerne les jeux, la technologie DLSS d’NVIDIA utilise également les cores tensor, mais il n’existe actuellement aucune preuve fiable montrant que l’activation du GPU Unlock peut améliorer le taux de rafraîchissement ou réduire le temps de fonctionnement de DLSS. Les bénéfices ne sont possibles que lorsque la tâche elle-même utilise ces instructions affectées et ce mode d’accumulation. Par conséquent, ces performances élevées en calcul ne signifient pas nécessairement une augmentation similaire du nombre de frames de jeu.
Même ainsi, pour les propriétaires de cartes graphiques de la série RTX 30, GPU Unlock reste une nouvelle proposition très attrayante, en particulier pour ceux qui utilisent leurs cartes pour la raisonnement d’IA local, la génération d’images et d’autres scénarios à charge computationnelle élevée. Ce projet se trouve actuellement en phase expérimentale, mais il est vraiment attrayant car il permet d’obtenir un rendement supplémentaire considérable avec des modifications permanentes du matériel non nécessaires.