Esta página describe cómo utilizar software de los repositorios Europeos desde Drago.
El EESSI (European Environment for Scientific Software Installations) es una plataforma que proporciona acceso a un amplio catálogo de software científico precompilado y optimizado para sistemas HPC.
A través de CVMFS (CernVM File System), EESSI permite a los usuarios utilizar aplicaciones sin necesidad de instalación local, garantizando consistencia, portabilidad y facilidad de uso en todos los nodos del clúster.
Antes de cargar EESSI, se recomienda limpiar la variable MODULEPATH para evitar conflictos con módulos del sistema (solo afecta a la sesión actual): unset MODULEPATH
Para cargar el entorno EESSI es necesario ejecutar uno de los siguientes comando:
Versión de 2023
source /cvmfs/software.eessi.io/versions/2023.06/init/lmod/bash
Versión de 2025
source /cvmfs/software.eessi.io/versions/2025.06/init/lmod/bash
Cada versión tiene su listado de software asociado, los cuales se referencian más abajo
Cargar el entorno mostrará un mensaje de salida similar a:
Found EESSI repo @ /cvmfs/software.eessi.io/versions/2023.06!
archdetect says x86_64/amd/zen2
archdetect could not detect any accelerators
Using x86_64/amd/zen2 as software subdirectory.
Found Lmod configuration file at /cvmfs/software.eessi.io/versions/2023.06/software/linux/x86_64/amd/zen2/.lmod/lmodrc.lua
Found Lmod SitePackage.lua file at /cvmfs/software.eessi.io/versions/2023.06/software/linux/x86_64/amd/zen2/.lmod/SitePackage.lua
Using /cvmfs/software.eessi.io/host_injections/2023.06/software/linux/x86_64/amd/zen2 as the site extension directory for installations.
Using /cvmfs/software.eessi.io/versions/2023.06/software/linux/x86_64/amd/zen2/modules/all as directory added to MODULEPATH.
Using /cvmfs/software.eessi.io/host_injections/2023.06/software/linux/x86_64/amd/zen2/modules/all as site extension directory for MODULEPATH.
Found libcurl CAs file at RHEL location, setting CURL_CA_BUNDLE
Initializing Lmod...
Prepending /cvmfs/software.eessi.io/versions/2023.06/software/linux/x86_64/amd/zen2/modules/all to $MODULEPATH...
Prepending site path /cvmfs/software.eessi.io/host_injections/2023.06/software/linux/x86_64/amd/zen2/modules/all to $MODULEPATH...
Environment set up to use EESSI (2023.06), have fun!
{EESSI 2023.06} [user@system ~]$
Importante: Una vez habilitado el entorno de EESSI, es posible cambiar de versión o descargar los módulos activos utilizando comandos como module purge o module load EESSI/<versión>.
Sin embargo, la inicialización del entorno mediante source modifica variables de la sesión actual, por lo que no es posible volver completamente al estado original del sistema sin cerrar la sesión del terminal.
El catálogo oficial de EESSI se actualiza continuamente y permite buscar software por nombre, versión o herramienta de compilación.
Para ver qué aplicaciones están disponibles: module avail
Para cargar un programa: module load
Descargar software: module purge
El purge descarga todo el software, incluyendo la rama de EESSI, habría que volver a hacer module load EESSI/<versión> para volver a ver el listado de software.
Listar software cargado: module list
Buscar software: module spider
Para usarlo con Slurm, vale con utilizar los comandos tal cual se indica anteriormente. Se recomienda no andar cambiando de rama o descargando módulos y elaborar los scripts con un software en mente.
A continuación se muestra un ejemplo de script de Slurm:
#!/bin/bash
#
# Ejemplo de job Slurm usando EESSI
#
#SBATCH -p generic # Partición
#SBATCH -N 1 # Número de nodos
#SBATCH -n 1 # Número de tareas
#SBATCH -c 2 # CPUs por tarea
#SBATCH --mem=4G # Memoria total del job
#SBATCH -t 0-02:00 # Tiempo máximo (D-HH:MM)
#SBATCH --output=slurm.%j.out
#SBATCH -e slurm.%j.err
# (Opcional pero recomendado) Limpiar entorno de módulos
unset MODULEPATH
# Activar entorno EESSI
source /cvmfs/software.eessi.io/versions/2023.06/init/bash
# Cargar software necesario
module load R/4.2.2-foss-2022b
# Ejecutar código de ejemplo
echo "Ejecutando script de R..."
Rscript - <<EOF
cat("Hola desde R en EESSI!\n")
# Crear un vector y calcular estadísticas
x <- c(1, 2, 3, 4, 5)
cat("Vector:", x, "\n")
cat("Media:", mean(x), "\n")
cat("Suma:", sum(x), "\n")
# Generar números aleatorios y mostrar resumen
set.seed(42)
rand <- rnorm(10)
cat("Resumen de números aleatorios:\n")
print(summary(rand))
EOF
echo "Job terminado correctamente"
Listado de links interesantes a la web oficial de EESSI: