Briser les limitations de performance des cœurs Tensor
Une série de projets open source a révélé l'existence de limitations logicielles délibérées dans les cartes graphiques GeForce de NVIDIA (séries RTX 20, 30 et 40), où les cœurs Tensor fonctionnent à la moitié de leur vitesse maximale lors de l'exécution de certaines opérations de calcul basées sur l'accumulation de précision FP32. Cette restriction, imposée par NVIDIA par voie logicielle pour distinguer les cartes de jeu des cartes de stations de travail professionnelles, limite l'efficacité des cartes dans les tâches d'entraînement de modèles d'IA et d'inférence.
Comment fonctionnent les modifications ?
L'initiative a commencé avec un utilisateur GitHub nommé Zagitta, qui a développé un module noyau Linux (Linux kernel module) nommé gpu-unlock. Cet outil fonctionne avant le chargement des pilotes officiels NVIDIA, en réécrivant et en réinitialisant les registres de sélection de vitesse de la carte. Comme la modification s'effectue au niveau du noyau, elle ne nécessite pas de modification du VBIOS ni de changements permanents sur les pilotes.
Les tests sur une carte RTX 3090 Ti ont montré une augmentation notable des performances de traitement matriciel, la vitesse de traitement BF16 passant de 87,5 à 157,4 TFLOPS, avec une performance TF32 presque doublée. Ces solutions ont également été adaptées pour d'autres générations, telles que gpu-unlock-ada pour la série RTX 40 et turing-unlock pour la série RTX 20.
Qu'est-ce qui change concrètement pour les utilisateurs ?
- Améliorations des performances : Les utilisateurs en bénéficient principalement pour les tâches de génération d'images (Image Generation) et les processus de réglage fin (Fine-tuning) des modèles, car ces tâches reposent intensivement sur les calculs FP32-accumulate.
- Utilité limitée pour les jeux : Les joueurs ne remarqueront aucune différence de performance, car les jeux ne reposent pas sur ce type d'opérations de calcul intensives pour les cœurs Tensor.
- Applications de chat : La vitesse de génération de texte (Token speed) ne connaît pas d'amélioration significative, car elle est principalement limitée par la bande passante de la mémoire (Memory Bandwidth) et non par la puissance de calcul brute.
Considérations importantes et risques
Bien que les développeurs indiquent que les mécanismes de protection thermique et d'alimentation de la carte restent efficaces, il existe des avertissements selon lesquels l'exécution des cœurs Tensor à pleine puissance pourrait entraîner une consommation d'énergie élevée, soulevant des inquiétudes quant à la stabilité du matériel à long terme. De plus, le support actuel est presque entièrement limité à l'environnement Linux, avec des expériences très limitées sur Windows.