> For the complete documentation index, see [llms.txt](https://wiki.mansci-web.uai.cl/uai-hpc/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://wiki.mansci-web.uai.cl/uai-hpc/softwares-via-lmod-easybuild-y-spack.md).

# Softwares vía Lmod, EasyBuild y Spack

## Usar Softwares globales mediante Lmod

{% hint style="danger" %}
El comando sudo no esta permitido para los usuarios,  sí tiene dudas con alguna instalación contacte al administrador
{% endhint %}

```bash
# se recomienda limpiar todos los modulos antes de comenzar
module purge
# listar softwares disponibles
module avail
```

<figure><img src="/files/8vukFywArftcHRiO81Yg" alt=""><figcaption></figcaption></figure>

```bash
# cargar un software por ejemplo mpi5
module load ompi/openmpi5-x86_64
```

<figure><img src="/files/WsjDEZMfUKEzJ5rjGtte" alt=""><figcaption></figcaption></figure>

<pre class="language-bash"><code class="lang-bash"># Limpiar software cargado
<strong>module del ompi/openmpi5-x86_64
</strong></code></pre>

```bash
# Limpiar todos los softwares cargados
module purge
```

## Easybuild

Easybuild es un software que permite instalar software en el hpc, estos softwares pueden ser instalados de forma global por el administrador o de forma local por cada usuario consumiendo su espacio de almacenamiento

```bash
# Cargar listado de softwares globales
module load softwares
# aparecera una nueva fila nombrada /share/apps/easybuild/softwares 
module avail
```

<figure><img src="/files/Wi9SKCkeHUvlyTJ4RmYy" alt=""><figcaption></figcaption></figure>

### Como instalar software

{% hint style="info" %}
La lista de softwares puede encontrarse en&#x20;

<https://docs.easybuild.io/version-specific/supported-software/>
{% endhint %}

```bash
# Cargar easybuild
module load easybuild/4.9.2
# buscar la versión del software por ej julia
eb -S julia
# para instalar eb nombreSoftware-version.eb  
# --robot permite instalar dependencias automaticamente
eb Julia-1.8.5-linux-x86_64.eb --robot
# listamos los nuevos softwares instalados  
# aparecera una nueva ruta /nfs_home/nombreUsuario/.local/easybuild/modules/all
module avail
```

<figure><img src="/files/80pYaezcdOm9SlYf9BQS" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/o48BpWAfKetrkJiYKjaW" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/XxxQ1q2V914C6hc2X1fj" alt=""><figcaption></figcaption></figure>

## Spack

Spack permite instalar diferentes tipos de softwares de forma global para todos los usuarios, el catálogo de spack tiene varios softwares y distintas versiones.

{% hint style="info" %}
La lista de softwares puede encontrarse en&#x20;

<https://packages.spack.io/>
{% endhint %}

{% hint style="warning" %}
Puede solicitar al administrador la instalación de softwares de spack
{% endhint %}

### Cargar listado de softwares globales

```bash
# cargar spack
module load spack/0.22.2
# listar sofwares instalados
spack find
# cargar la ultima versión de un modulo
spack load gcc
# cargar la versión especifica de un modulo
spack load gcc@9.3.0
# listar module cargados
spack find --loaded
# desactivar un modulo en particular
spack unload gcc@9.3.0
# desactivar todos los modulos cargados
spack unload
```

{% hint style="info" %}
Algunos módulos requieren  tener activado "shell support para ello ejecute  en su terminal o agregue a su script de slurm

```
. /share/pub/apps/spack/0.22.2/share/spack/setup-env.sh
```

{% endhint %}
