Guide technique complet : flasher la CMP 170HX et débloquer 64 GB de HBM2e sous Ubuntu 22.04 LTS
Partager
# Guide technique complet : flasher la CMP 170HX & débloquer 64 GB de HBM2e sous Ubuntu 22.04 LTS
Ce guide détaille la procédure complète permettant de contourner les restrictions OTP d'usine de la **NVIDIA CMP 170HX** (architecture GA100, Device ID `10de:20c2` / `10de:20b0`) à l'aide de **`CMPUnlocker`**. L'opération réactive les Streaming Multiprocessors (SM) désactivés et débloque la géométrie mémoire HBM2e dormante (les modèles 8 GB passent ainsi à 64 GB de VRAM).
---
## Prérequis techniques & configuration requise
Avant de commencer, vérifiez que votre serveur hôte répond aux critères suivants :
* **OS :** Ubuntu 22.04 LTS ou 24.04 LTS (x86_64).
* **Pilote visé :** paquet NVIDIA Open GPU Kernel Modules (branche v580.x).
* **Privilèges système :** accès root / `sudo`.
* **Refroidissement matériel :** flux d'air forcé à haute pression statique (ventilateurs 4,000+ RPM dans un châssis rackable 4U) pour éviter l'arrêt thermique des dissipateurs passifs.
---
### Étape 1 : audit du système et installation des dépendances
Vérifiez d'abord que votre carte est bien détectée sur le bus PCIe, puis installez l'environnement de développement Python 3 et l'analyseur YAML requis par le script de déblocage.
```bash
# 1. Rechercher la GA100 / CMP 170HX sur le bus PCI
lspci -nn | grep -i nvidia
# La sortie attendue doit afficher le Device ID 10de:20c2 ou 10de:20b0
# 2. Mettre à jour les index de dépôts et installer les dépendances système
sudo apt update && sudo apt install -y \
build-essential \
python3 \
python3-pip \
python3-yaml \
git \
pciutils \
wget
3. Vérifier l'installation de PyYAML
python3 -c "import yaml; print(yaml.__version__)"
Étape 2 : installer les pilotes noyau open source NVIDIA (branche 580.x)
CMPUnlocker repose sur des modifications de registres précises dans le firmware NVIDIA GSP (GPU System Processor) chargé par la série de pilotes nvidia-open 580.
# 1. Ajouter le PPA officiel Graphics Drivers
sudo add-apt-repository ppa:graphics-drivers/ppa -y
sudo apt update
# 2. Installer le pilote GPU open-kernel et les utilitaires CUDA
sudo apt install -y nvidia-driver-580-open nvidia-utils-580
# 3. Empêcher les mises à jour automatiques de casser les modules noyau
sudo apt-mark hold nvidia-driver-580-open
4. Vérifier la présence du firmware GSP
ls -la /lib/firmware/nvidia/580.*/gsp_tu10x.bin
Étape 3 : sauvegarder le firmware GSP d'origine
Créez toujours une copie de sauvegarde du fichier firmware binaire non modifié (gsp_tu10x.bin) avant d'appliquer le patch de déblocage.
# Localiser le chemin exact du répertoire de votre pilote
GSP_DIR=$(dirname$(ls /lib/firmware/nvidia/580.*/gsp_tu10x.bin | head -n1))
Créer une sauvegarde persistante de la version d'origine
sudo cp "${GSP_DIR}/gsp_tu10x.bin" "${GSP_DIR}/gsp_tu10x.bin.stock"
echo "Backup saved to ${GSP_DIR}/gsp_tu10x.bin.stock"
Étape 4 : cloner CMPUnlocker et choisir le profil VRAM
Clonez le dépôt source et réglez la géométrie mémoire cible par défaut sur unlocked_64gb pour les variantes physiques 8 GB.
# 1. Cloner le dépôt dans l'espace de travail local
cd /opt
sudo git clone [https://github.com/amoghmunikote/cmpunlocker.git](https://github.com/amoghmunikote/cmpunlocker.git)
cd cmpunlocker
# 2. Vérifier les réglages de profil dans la configuration des constantes
# Pour les cartes physiques 8 GB visant 64 GB de VRAM :
sudo ./install.sh --profile=8gb
# (Remarque : pour les rares cartes en révision 10 GB visant 40 GB/80 GB, utilisez plutôt --profile=10gb)
Étape 5 : effectuer un cycle d'alimentation à froid
Contrairement à un simple rechargement de pilote, le déblocage initial des registres WPR2 et la purge de l'état des condensateurs SEC2 exigent un démarrage à froid complet. Un redémarrage à chaud fera échouer la charge de déblocage au premier lancement.
# 1. Arrêter complètement le système
sudo poweroff
Remarque opérationnelle : une fois le serveur éteint, débranchez physiquement les câbles d'alimentation secteur pendant 60 secondes afin de purger complètement la tension de veille des condensateurs de la carte mère et de la carte GPU. Rebranchez l'alimentation et redémarrez sous Ubuntu.
Étape 6 : exécuter le pipeline de déblocage & activer le démon systemd
Comme les modifications de registres ne survivent pas nativement aux coupures d'alimentation profondes, le service d'arrière-plan CMPUnlocker surveille les registres et réapplique automatiquement le patch au démarrage et à chaque rechargement de pilote.
cd /opt/cmpunlocker
# 1. Lancer le script d'installation du déblocage avec les privilèges root
sudo ./install.sh
# 2. Vérifier l'état du service systemd
sudo systemctl status cmpunlocker.service
# 3. Suivre les journaux du démon pour confirmer l'application du patch
journalctl -u cmpunlocker -f -n 20
Étape 7 : valider la mémoire débloquée et l'état de calcul
Interrogez nvidia-smi et lancez un court script d'initialisation CUDA pour confirmer le débit de calcul complet et la reconnaissance de la VRAM.
# 1. Vérifier la levée de la limite de fréquence des SM et la VRAM remontée
nvidia-smi --query-gpu=name,memory.total,clocks.max.sm --format=csv
# Sortie attendue :
# name, memory.total [MiB], clocks.max.sm [MHz]
# NVIDIA Graphics Device, 65536 MiB, 1410 MHz
# 2. Exécuter le script de test CUDA ctypes en Python
python3 -c "
import ctypes
cuda = ctypes.CDLL('libcuda.so.1')
init_res = cuda.cuInit(0)
print(f'CUDA Init Status: {init_res} (0 = SUCCESS)')
"
Dépannage & modes de défaillance
| Problème / symptôme | Cause probable | Action corrective |
nvidia-smi indique toujours 8 GB de VRAM |
Modification des registres GSP-RM non appliquée ou démarrage à froid omis. | Effectuez une purge électrique physique stricte de 60 secondes. Vérifiez que gsp_patch.py a bien mis à jour sh_size lors de l'installation. |
| Le GPU disparaît du bus PCIe / bridage thermique | Flux d'air insuffisant sur le dissipateur passif. | Assurez-vous que des ventilateurs de châssis à haut débit poussent l'air directement à travers les ailettes du GPU. Le flux d'air passif d'un boîtier de bureau ne suffit pas. |
| Plantage du noyau sous forte charge LLM | Défaut de silicium sur la pile HBM2e débloquée. | Relancez ./install.sh --profile=40gb (ou modifiez constants.yaml) pour limiter l'allocation de VRAM à une empreinte stable de 32 GB/40 GB. |