L'intégration d'une nouvelle carte graphique NVIDIA RTX 5070 Ti à votre environnement de développement PyTorch peut parfois entraîner une erreur déroutante concernant la compatibilité CUDA. Vous pourriez rencontrer un avertissement similaire à celui-ci :
UserWarning: NVIDIA GeForce RTX 5070 Ti with CUDA capability sm_120 is not compatible
with the current PyTorch installation.
The current PyTorch install supports CUDA capabilities sm_50 sm_60 sm_61 sm_70 sm_75
sm_80 sm_86 sm_90.
Ce guide détaillé vous accompagnera pas à pas pour résoudre ce problème et activer pleinement votre RTX 5070 Ti pour l'apprentissage automatique.
Origine de l'incompatibilité
La carte graphique RTX 5070 Ti est basée sur la toute dernière architecture Blackwell de NVIDIA, qui présente une capacité de calcul CUDA de sm_120. Étant une technologie de pointe lancée récemment (par exemple, fin 2025), la plupart des versions stables de PyTorch disponibles ont été compilées avant l'intégration officielle de ce support, d'où l'absence de compatibilité directe avec sm_120.
Tableau comparatif des architectures GPU
| Série GPU | Architecture | Capacité CUDA | Support PyTorch (Exemples) |
|---|---|---|---|
| RTX 4090/4080 | Ada Lovelace | sm\_89 | PyTorch 2.0+ |
| RTX 3090/3080 | Ampere | sm\_86 | PyTorch 1.7+ |
| RTX 5090/5070 Ti | Blackwell | sm\_120 | PyTorch 2.7+ (CUDA 12.8) |
Procédure de résolution
Étape 1 : Vérification des pilotes NVIDIA
Assurez-vous que vos pilotes NVIDIA sont à jour. Exécutez la commande suivante dans votre terminal :
nvidia-smi
Vous devriez obtenir une sortie affichant des informations similaires :
Driver Version: 576.88 CUDA Version: 12.9
Si la version de votre pilote est antérieure à 576.x, téléchargez et installez la dernière version depuis le site officiel de NVIDIA.
Étape 2 : Création d'un environnement Python isolé
Il est fortement recommandé de créer un nouvel environnement virtuel Python pour éviter les conflits avec d'anciennes installations ou bibliothèques :
# Utilisation de Conda (recommandé)
conda create -n env_pytorch_rtx5070 python=3.11 -y
conda activate env_pytorch_rtx5070
# Ou utilisation de venv
python -m venv env_pytorch_rtx5070
# Pour Windows:
.\env_pytorch_rtx5070\Scripts\activate
# Pour Linux/Mac:
source ./env_pytorch_rtx5070/bin/activate
Étape 3 : Installation de PyTorch avec support sm_120
C'est l'étape cruciale. Vous devez installer une version "nightly" (de développement) de PyTorch qui inclut la compilation pour CUDA 12.8, supportant sm_120 :
pip install --pre torch torchvision torchaudio --index-url https://download.pytorch.org/whl/nightly/cu128
**Pourquoi une version "nightly" ?**À l'heure actuelle (fin 2025), les versions stables de PyTorch pourraient ne pas encore avoir intégré le support complet pour l'architecture Blackwell. Les versions "nightly" bénéficient des dernières compilations CUDA 12.8, ce qui leur permet de reconnaître la capacité
sm_120.
Étape 4 : Validation de l'installation
Exécutez le script Python suivant pour confirmer que PyTorch détecte correctement votre GPU et l'architecture sm_120 :
import torch
# Affichage des informations de version
print(f"Version de PyTorch : {torch.__version__}")
print(f"Version de CUDA : {torch.version.cuda}")
# Vérification des capacités d'architecture supportées (point clé !)
architectures_supportees = torch.cuda.get_arch_list()
print(f"Architectures CUDA supportées : {architectures_supportees}")
# Vérification de la disponibilité du GPU
gpu_disponible = torch.cuda.is_available()
print(f"GPU disponible : {gpu_disponible}")
if gpu_disponible:
nom_gpu = torch.cuda.get_device_name(0)
print(f"Nom du GPU détecté : {nom_gpu}")
# Test de calcul simple sur GPU
dim_test = 1000
matrice_a = torch.randn(dim_test, dim_test, device='cuda')
matrice_b = torch.randn(dim_test, dim_test, device='cuda')
resultat_calc = torch.matmul(matrice_a, matrice_b)
print(f"Test de calcul réussi ! Forme du résultat : {resultat_calc.shape}")
else:
print("Aucun GPU CUDA n'a été détecté ou n'est utilisable.")
Résultat attendu :
Version de PyTorch : 2.8.0.dev20251024+cu128
Version de CUDA : 12.8
Architectures CUDA supportées : ['sm_50', 'sm_60', 'sm_61', 'sm_70', 'sm_75', 'sm_80', 'sm_86', 'sm_90', 'sm_100', 'sm_120']
^^^^^^^^
Ce doit être visible !
GPU disponible : True
Nom du GPU détecté : NVIDIA GeForce RTX 5070 Ti
Test de calcul réussi ! Forme du résultat : torch.Size([1000, 1000])
Dépannage courant
Problème 1 : L'erreur sm_120 persiste après l'installation
Cause : Un mélange d'anciennes versions de PyTorch dans l'environnement.
Solution :
# Désinstallation complète des versions précédentes
pip uninstall torch torchvision torchaudio -y
# Nettoyage du cache pip
pip cache purge
# Réinstallation de la version spécifique
pip install --pre torch torchvision torchaudio --index-url https://download.pytorch.org/whl/nightly/cu128
Problème 2 : sm_120 n'apparaît pas dans torch.cuda.get_arch_list()
Cause : Installation d'une version incorrecte de PyTorch (par exemple, version CPU ou ancienne version CUDA).
Solution :
# Vérification de l'installation actuelle
pip show torch
# Forcez la réinstallation avec la bonne URL
pip install --force-reinstall --pre torch torchvision torchaudio --index-url https://download.pytorch.org/whl/nightly/cu128
Problème 3 : Les applications tierces (ex: Stable Diffusion, ComfyUI) signalent toujours l'erreur
Certains outils d'IA peuvent installer leur propre version de PyTorch dans un environnement isolé, laquelle pourrait ne pas supporter sm_120.
Solution :
# Naviguez vers le répertoire de l'outil et activez son environnement
cd stable-diffusion-webui # ou le répertoire de votre outil
# Activation de l'environnement virtuel de l'outil
# Pour Windows:
.\venv\Scripts\activate
# Pour Linux/Mac:
source ./venv/bin/activate
# Mettez à jour PyTorch dans cet environnement spécifique
pip install --upgrade --force-reinstall --pre torch torchvision --index-url https://download.pytorch.org/whl/nightly/cu128
Problème 4 : Inquiétudes concernant la stabilité des versions "nightly"
Solution à court terme : Bien que les versions "nightly" soient des versions de développement, elles sont souvent nécessaires pour le support des tout nouveaux matériels. Dans la pratique, les problèmes majeurs sont rares.
Solution à long terme : Surveillez les annonces officielles de PyTorch. Dès qu'une version stable (par exemple PyTorch 2.7 ou ultérieure) offrant un support natif pour CUDA 12.8 est disponible, basculez vers celle-ci :
# Commande future pour l'installation d'une version stable (ex: PyTorch 2.7.0)
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu128
Alternative avec Conda
Si vous préférez gérer vos environnements avec Conda, voici la démarche :
conda create -n env_pytorch_rtx5070 python=3.11 -y
conda activate env_pytorch_rtx5070
# Option 1: Utilisation de Conda (nécessite d'attendre la mise à jour officielle du canal)
# conda install pytorch torchvision torchaudio pytorch-cuda=12.4 -c pytorch -c nvidia
# Option 2: Installation de la version nightly via pip dans un environnement Conda (recommandé pour un support immédiat)
pip install --pre torch torchvision torchaudio --index-url https://download.pytorch.org/whl/nightly/cu128
Test de performance
Une fois l'installation confirmée, vous pouvez exécuter un test de performance basique pour évaluer votre configruation :
import torch
import time
peripherique = torch.device('cuda')
dim_matrice = 10000
# Matrices pour le test de multiplication
mat_1 = torch.randn(dim_matrice, dim_matrice, device=peripherique)
mat_2 = torch.randn(dim_matrice, dim_matrice, device=peripherique)
# Phase de préchauffage
_ = torch.matmul(mat_1, mat_2)
# Mesure du temps
debut_calc = time.time()
nombre_iterations = 10
for _ in range(nombre_iterations):
res_produit = torch.matmul(mat_1, mat_2)
torch.cuda.synchronize() # S'assurer que toutes les opérations GPU sont terminées
fin_calc = time.time()
print(f"Test de performance RTX 5070 Ti :")
temps_total = fin_calc - debut_calc
print(f"{nombre_iterations} multiplications de matrices {dim_matrice}x{dim_matrice} ont pris : {temps_total:.3f} secondes")
print(f"Temps moyen par opération : {temps_total / nombre_iterations:.3f} secondes")