---
og:title: Software de EESSI
og:description: Cómo usar el stack de software científico de EESSI en los clusters
---

# 📦 Software de EESSI

[EESSI](https://www.eessi.io/) (_European Environment for Scientific Software Installations_)
es un stack de software científico optimizado para cada arquitectura de CPU,
distribuido a través de [CernVM-FS](https://cernvm.cern.ch/fs/) en `/cvmfs/software.eessi.io`.

Ofrece cientos de programas y bibliotecas (GROMACS, LAMMPS, OpenFOAM, Quantum ESPRESSO,
R, Python con NumPy/SciPy, etc.) listos para usar, sin necesidad de compilarlos.

```{note}
EESSI está disponible en **Serafín** y **Helvetios**.
```

## Activar el entorno

Para activarlo, cargue el módulo `EESSI`:

```console
$ module load EESSI
```

A partir de ese momento `module avail` muestra también el software de EESSI,
compilado para la arquitectura del nodo donde se ejecuta.

```{tip}
Hay varias versiones de EESSI, cada una con software más nuevo.
Puede verlas con `module avail EESSI` y elegir una en particular, por ejemplo:
`module load EESSI/2025.06`.
```

```{warning}
No mezcle [módulos del cluster](/tutoriales/modules) con módulos de EESSI en la misma sesión o script:
son compilados con distintas bibliotecas y compiladores, y combinarlos puede fallar
de formas difíciles de diagnosticar.
```

```{tip}
El primer acceso a un programa puede tardar unos segundos,
porque CernVM-FS descarga los archivos bajo demanda y los guarda en caché.
```

## Buscar software

:module avail: Ver todos los módulos disponibles
:module avail GROMACS: Ver los módulos cuyo nombre contiene `GROMACS`
:module spider GROMACS: Buscar un programa y ver sus versiones
:module load GROMACS: Cargar la versión por defecto de un programa

También puede consultar el listado completo en
[eessi.io/docs/available_software](https://www.eessi.io/docs/available_software/overview/).

## Script de Slurm

Escriba el `submit.sh`, por ejemplo para correr GROMACS en Serafín:

```{code-block} slurm
:emphasize-lines: 9-10
#!/bin/bash
#SBATCH --job-name=gromacs
#SBATCH --partition=multi
#SBATCH --nodes=2
#SBATCH --ntasks-per-node=64
#SBATCH --cpus-per-task=1
#SBATCH --time 0-1:00

module load EESSI
module load GROMACS

export OMP_NUM_THREADS=$SLURM_CPUS_PER_TASK

mpirun gmx_mpi mdrun -s topol.tpr
```

```{note}
Use `mpirun` en lugar de `srun`: el Open MPI de EESSI detecta automáticamente
los recursos asignados por Slurm.
```

```{seealso}
[Como escribir un script de submit](/tutoriales/slurm-script).
```

Y ya puede encolar el job.
```console
$ sbatch submit.sh
```

## Preguntas frecuentes

:::{dropdown} ¿Cuándo conviene usar EESSI y cuándo los módulos del cluster?
Recomendamos usar primero los [módulos del cluster](/tutoriales/modules), y recurrir a EESSI
cuando lo que necesita no está ahí. Si tampoco lo encuentra en EESSI, puede instalarlo en su _home_
con [Spack](/tutoriales/spack) o pedirnos que lo instalemos escribiendo a [soporte](soporte).
:::

:::{dropdown} ¿Cómo vuelvo a los módulos del cluster?
Descargue todos los módulos con `module purge`.
:::
