De MultiGPU a DynamicVRAM: Configuración estable de MiniMax H3 en RTX 3090 + RTX 3060

Introducción

Configurar MiniMax H3 en ComfyUI 0.37.0 con una RTX 3090 y una RTX 3060 parece un desafío de ingeniería interesante: aprovechar el doble de VRAM para acelerar el renderizado sin sacrificar estabilidad. Sin embargo, el camino hacia una configuración óptima no es lineal. Tras iniciar con la intención de usar ComfyUI-MultiGPU y DisTorch2 para repartir los pesos del modelo entre las dos tarjetas gráficas, encontramos errores críticos que obligaron a replantear toda la estrategia.

Diagrama técnico de la configuración dual-GPU
Arquitectura final: RTX 3090 para cómputo principal, RAM para offload y RTX 3060 para instancias paralelas.

El error inicial: libcudart.so

Al ejecutar el primer workflow, ComfyUI-MultiGPU falló inmediatamente con un FileNotFoundError al intentar cargar el archivo libcudart.so. Este es un bug clásico en las versiones de MultiGPU para Windows: el código está diseñado esperando una estructura de archivos de Linux. El traceback mostraba claramente que la librería CUDA no se encontraba en los directorios predeterminados del sistema.

La solución técnica fue sencilla: corregir el archivo p2p_registry.py para que buscara automáticamente el archivo DLL correcto, cudart64_13.dll, dentro de la carpeta torchlib. Esto solucionó el problema inicial y permitió que el programa arrancara.

El error secundario: Illegal Memory Access

No obstante, al ejecutar el workflow con los modelos cuantizados (NVFP4), apareció un segundo error más grave: CUDA error: an illegal memory access was encountered. Tras analizar el traceback y consultar la documentación actual del proyecto MultiGPU, se descubrió que este comportamiento es conocido. Los kernels INT8/NVFP4 de comfy_kitchen fallan consistentemente cuando se ejecutan en dispositivos CUDA que no son el predeterminado (cuda:0) bajo Windows.

Cambio de estrategia: Abandonando MultiGPU

Dada la inestabilidad documentada, la decisión más robusta fue deshabilitar ComfyUI-MultiGPU para esta instalación. En lugar de forzar una distribución fragmentada de la VRAM que provocaba fallos en la memoria, se optó por confiar en la gestión nativa de ComfyUI.

La nueva arquitectura aprovecha los 96 GB de RAM disponibles para realizar el offload de los modelos. La RTX 3090 se mantiene como la GPU principal dedicada exclusivamente al cómputo pesado de H3, mientras que la RTX 3060 se utiliza en paralelo a través de una segunda instancia de ComfyUI para otras tareas, evitando así cualquier intento de transferencia de tensores entre las dos tarjetas.

Código fuente Python del archivo p2p_registry.py
El fragmento de código corregido para cargar el DLL de CUDA y la decisión final de omitir MultiGPU.

Configuración final recomendada

A continuación, los parámetros que han demostrado funcionar correctamente tras este proceso de depuración:

Perfil de prueba inicial

  • Resolución: 608 × 352
  • Duración: 39 frames (aprox. 1.6 segundos)
  • Pasos: 20 pasos con CFG = 1.0
  • Optimizaciones: SageAttention OFF, Turbo OFF

Perfil de renderizado estable

  • Resolución: 1024 × 576
  • Duración: 124 frames (aprox. 5 segundos)
  • Pasos: 20 pasos con CFG = 1.0
  • Optimizaciones: SageAttention ON

Perfil final de alta calidad

  • Resolución: 1344 × 768
  • Duración: 124 frames
  • Pasos: 20 pasos con CFG = 1.0
  • Optimizaciones: SageAttention ON, Turbo OFF

Este enfoque manual y directo ha demostrado ser más estable que intentar forzar una arquitectura de multi-GPU compleja sobre un entorno que no lo soporta nativamente. Al priorizar el offload a RAM y mantener la GPU principal dedicada a H3, se logra un rendimiento consistente sin incurrir en errores de memoria.