Complete Technical Guide: Flashing CMP 170HX & Unlocking 64 GB HBM2e on Ubuntu 22.04 LTS

Guía técnica completa: flashear la CMP 170HX y desbloquear 64 GB HBM2e en Ubuntu 22.04 LTS

# Guía técnica completa: flasheo de la CMP 170HX & desbloqueo de 64 GB HBM2e en Ubuntu 22.04 LTS

Esta guía recorre el procedimiento completo para saltarse las restricciones OTP de fábrica de la **NVIDIA CMP 170HX** (arquitectura GA100, Device ID `10de:20c2` / `10de:20b0`) mediante **`CMPUnlocker`**. Con ello se restauran los multiprocesadores de flujo (SM) desactivados y se desbloquea la geometría de memoria HBM2e latente (ampliando los modelos de 8 GB hasta 64 GB de VRAM).

---

## Requisitos técnicos previos & requisitos del sistema

Antes de empezar, asegúrese de que su servidor anfitrión cumple los siguientes criterios:

* **Sistema operativo:** Ubuntu 22.04 LTS o 24.04 LTS (x86_64).
* **Driver de destino:** paquete de drivers NVIDIA Open GPU Kernel Modules (rama v580.x).
* **Privilegios del sistema:** acceso root / `sudo`.
* **Refrigeración del hardware:** flujo de aire forzado de alta presión estática (ventiladores de más de 4,000 RPM en un chasis de rack 4U) para evitar el apagado térmico en disipadores pasivos.

---

### Paso 1: auditoría del sistema e instalación de dependencias
Primero, confirme que su tarjeta se detecta en el bus PCIe e instale el entorno de desarrollo de Python 3 y el analizador YAML que necesita el script del desbloqueador.

```bash
# 1. Buscar la GA100 / CMP 170HX en el bus PCI
lspci -nn | grep -i nvidia
# La salida esperada debe mostrar el Device ID 10de:20c2 o 10de:20b0

# 2. Actualizar los índices de repositorios e instalar las dependencias del sistema
sudo apt update && sudo apt install -y \
  build-essential \
  python3 \
  python3-pip \
  python3-yaml \
  git \
  pciutils \
  wget

3. Verificar la instalación de PyYAML
python3 -c "import yaml; print(yaml.__version__)"


Paso 2: instalar los drivers de kernel de código abierto de NVIDIA (rama 580.x)

CMPUnlocker depende de la sobrescritura de determinados registros dentro del firmware GSP (GPU System Processor) de NVIDIA que carga la serie de drivers nvidia-open 580.

# 1. Añadir el PPA oficial de Graphics Drivers
sudo add-apt-repository ppa:graphics-drivers/ppa -y
sudo apt update

# 2. Instalar el driver de GPU de kernel abierto y las utilidades CUDA
sudo apt install -y nvidia-driver-580-open nvidia-utils-580

# 3. Impedir que las actualizaciones automáticas rompan los módulos del kernel
sudo apt-mark hold nvidia-driver-580-open

4. Verificar la presencia del firmware GSP
ls -la /lib/firmware/nvidia/580.*/gsp_tu10x.bin

Paso 3: copia de seguridad del firmware GSP original

Cree siempre una copia de seguridad del archivo binario de firmware sin modificar (gsp_tu10x.bin) antes de aplicar el parche de desbloqueo.

# Localizar la ruta exacta del directorio del driver
GSP_DIR=$(dirname$(ls /lib/firmware/nvidia/580.*/gsp_tu10x.bin | head -n1))

Crear una copia de seguridad permanente del original
sudo cp "${GSP_DIR}/gsp_tu10x.bin" "${GSP_DIR}/gsp_tu10x.bin.stock"
echo "Backup saved to ${GSP_DIR}/gsp_tu10x.bin.stock"

 

Paso 4: clonar CMPUnlocker y seleccionar el perfil de VRAM

Clone el repositorio de código y fije el objetivo de geometría de memoria por defecto en unlocked_64gb para las variantes físicas de 8 GB.

# 1. Clonar el repositorio en el espacio de trabajo local
cd /opt
sudo git clone [https://github.com/amoghmunikote/cmpunlocker.git](https://github.com/amoghmunikote/cmpunlocker.git)
cd cmpunlocker

# 2. Revisar los ajustes de perfil en la configuración de constantes
# Para tarjetas físicas de 8 GB con objetivo de 64 GB de VRAM:
sudo ./install.sh --profile=8gb

# (Nota: para las raras tarjetas de revisión de 10 GB con objetivo de 40 GB/80 GB, use --profile=10gb)

Paso 5: realizar un ciclo de apagado en frío

A diferencia de una recarga normal del driver, el desbloqueo inicial del registro WPR2 y el vaciado del estado de los condensadores SEC2 exigen un arranque en frío completo. Los reinicios en caliente harán que la carga de desbloqueo falle en la primera ejecución.

# 1. Apagar el sistema por completo
sudo poweroff

Nota operativa: Una vez que el servidor se haya apagado, desconecte físicamente los cables de alimentación de CA durante 60 segundos para descargar por completo la tensión en espera de los condensadores de la placa base y de la placa de la GPU. Vuelva a conectar la alimentación y arranque de nuevo en Ubuntu.

Paso 6: ejecutar el proceso de desbloqueo & activar el demonio de systemd

Como las modificaciones de registros no sobreviven de forma nativa a los ciclos de apagado profundo, el servicio en segundo plano de CMPUnlocker vigila los registros y vuelve a aplicar el parche automáticamente al arrancar y al recargar el driver.

cd /opt/cmpunlocker

# 1. Ejecutar el script instalador de desbloqueo con privilegios de root
sudo ./install.sh

# 2. Comprobar el estado del servicio de systemd
sudo systemctl status cmpunlocker.service

# 3. Seguir los registros del demonio para confirmar que se aplica el parche
journalctl -u cmpunlocker -f -n 20

Paso 7: validar la memoria desbloqueada y el estado de cómputo

Consulte nvidia-smi y ejecute un script rápido de inicialización de CUDA para confirmar el rendimiento de cómputo completo y el reconocimiento de la VRAM.

# 1. Verificar la eliminación del límite de frecuencia de los SM y la VRAM reportada
nvidia-smi --query-gpu=name,memory.total,clocks.max.sm --format=csv

# Salida esperada:
# name, memory.total [MiB], clocks.max.sm [MHz]
# NVIDIA Graphics Device, 65536 MiB, 1410 MHz

# 2. Ejecutar el script de prueba de CUDA con 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)')
"

Resolución de problemas & modos de fallo

Problema / síntoma Causa probable Acción correctora
nvidia-smi sigue indicando 8 GB de VRAM Sobrescritura de registros GSP-RM o arranque en frío omitido. Realice una descarga física estricta de 60 segundos. Asegúrese de que gsp_patch.py actualizó correctamente sh_size durante la instalación.
La GPU desaparece del bus PCIe / limitación térmica Flujo de aire insuficiente sobre el disipador pasivo. Asegúrese de que los ventiladores de chasis de alto caudal empujan el aire directamente a través de las aletas de la GPU. El flujo de aire de un equipo de escritorio pasivo no basta.
Cuelgue del kernel con carga intensa de LLM Defecto de silicio en la pila HBM2e desbloqueada. Vuelva a ejecutar ./install.sh --profile=40gb (o edite constants.yaml) para limitar la asignación de VRAM a un tamaño estable de 32 GB/40 GB.
Regresar al blog