Contenedores y GPUs
Leerlo en el Capítulo 6 · checkpoint +50 XP →
Cómo acceden los contenedores a las GPUs: el driver del host, los nodos de dispositivo inyectados y el NVIDIA Container Toolkit.
Una imagen de contenedor trae el runtime de CUDA y las bibliotecas, pero el driver de la GPU debe venir del host (es un módulo del kernel). El NVIDIA Container Toolkit une ambos. Al iniciar, monta las bibliotecas de espacio de usuario del driver y los nodos de dispositivo /dev/nvidia* dentro del contenedor.
Reglas prácticas
- Fija las imágenes a una versión de CUDA que el driver del host soporte (ver pila CUDA).
- Los sitios de HPC suelen usar Enroot/Pyxis o Apptainer con Slurm. Ejecutan imágenes sin privilegios, una gran ventaja de seguridad.
- Nunca ejecutes contenedores de entrenamiento con
--privileged. El runtime debe dar acceso a dispositivos de forma acotada.
Ángulo de seguridad: los nodos de dispositivo son la GPU. Cualquier cosa que pueda abrir /dev/nvidia* fuera del control del planificador puede usar la GPU. Así es exactamente como un minero no autorizado se esconde a plena vista. Ver Cryptojacking en clústeres de GPU y multi-tenencia.
Relacionado
Fuentes y lecturas adicionales
Escrito para LazyLab con nuestras propias palabras; las fuentes se citan para profundizar y verificar.