Saltar a contenido

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.