Software con módulos¶
El software del clúster se entrega compilado y optimizado para este hardware y se gestiona con módulos (Lmod). Un solo comando carga la aplicación con todas sus dependencias (compiladores, bibliotecas, variables de entorno) y evita instalar nada como usuario.
Antes que nada: activa el árbol del clúster¶
En una cuenta nueva, module arranca sin las rutas del software instalado, así
que module avail no muestra las aplicaciones. Se añaden una vez y para siempre
con una línea en tu ~/.bashrc:
echo 'module use --append /sw/modulefiles /sw/modules/all' >> ~/.bashrc
exit
(a lo mejor ya lo hiciste en el
paso 3; si
module avail ya muestra el catálogo, sigue de largo.)
Ver qué hay¶
module avail
------------------------------- /sw/modulefiles --------------------------------
awscli/2
blast/2.12.0
blast/2.15.0
blast/2.17.0 (D)
camb/1.5.6
cmake/4.1.0
...
Muestra todas las aplicaciones y versiones disponibles. El marcador (D)
indica la versión por defecto de cada aplicación. La lista completa, con
nombres exactos, está en el
catálogo de software.
Buscar una aplicación¶
module spider pytorch
----------------------------------------------------------------------------
pytorch:
----------------------------------------------------------------------------
Versions:
pytorch/1.10-hrda
pytorch/2.2
Cargar y verificar¶
module load python/3.11
module list
Currently Loaded Modules:
1) python/3.11
python -V
Python 3.11.14
Combina módulos correctamente¶
Muchas aplicaciones dependen de un compilador o de CUDA concretos. Los módulos
del catálogo indicán la combinación en el propio nombre — por ejemplo
hdf5/1.14.5-gcc12-openmpi4 se usa con gcc/12.3.0 y openmpi/4.1.8-gcc12
— y Lmod carga automáticamente las dependencias que falten.
Un par de combinaciones habituales (del mensaje de bienvenida del sistema):
module load python/3.11
module load pytorch/2.2
module load cuda/12.4
module load opencv/4.10.0/gpu
Consejo del administrador
Combina CUDA + framework (ej. pytorch) correctamente: carga primero el framework y deja que el módulo arrastre la versión de CUDA con la que fue compilado.
Los módulos también funcionan dentro de tus jobs¶
Escribe module load ... tal cual dentro de tu script #SBATCH (como en el
paso 5). El entorno de módulos viaja con el
trabajo: si module use ya está en tu ~/.bashrc y enviaste el job desde una
sesión SSH normal, el script encuentra la aplicación sin repetir nada.
Si un job tuyo falla con Los siguientes módulos son desconocidos, es que el
entorno desde el que lo enviaste no tenía la ruta: activa los módulos
(module use --append ...), o pon esa misma línea en el script antes del
module load, y vuelve a enviarlo.
¿No está lo que necesitas?¶
Si necesitas algún software en esta modalidad, escribe al NOC para validación: lo evalúan, lo compilan para este hardware y lo agregan al catálogo.