2. Aplicaciones

Para simplificar el uso de las aplicaciones instaladas en Magerit se utiliza Lmod, una implementación de Environment Modules. Esta utilidad se encarga de preparar el entorno de ejecución para utilizar distintas versiones de las aplicaciones y sus dependencias mediante la carga de módulos de configuración.

2.1. Uso de aplicaciones instaladas

Las operaciones más comunes cuando se quiere ejecutar aplicaciones ya instaladas:

avail

Muestra todas las aplicaciones disponibles en el sistema.

module avail
list

Muestra las aplicaciones cargadas actualmente.

module list
load

Carga la versión predeterminada de una aplicación (aquellas que aparecen marcadas con una (D) en el listado).

module load <app>
load

Carga una versión determinada de una aplicación.

module load <app>/<ver>
switch

Cambia una aplicación por otra.

module switch <app1>/<ver1> <app2>/<ver2>

Nota

module switch es equivalente a ejecutar module unload <app1> && module load <app2>/<ver2>.

unload

Descarga una aplicación.

module unload <app>
purge

Descarga todas las aplicaciones.

module purge

Nota

Lmod proporciona una utilidad denominada ml que es equivalente a usar module (todas las operaciones anteriores están soportadas) y añade una sintaxis simplificada para la carga y descarga:

ml <app>
Carga una aplicación. Es el equivalente a module load <app>
ml -<app>
Descarga una aplicación. Es el equivalente a module unload <app>

Es posible combinar varios cambios simultáneos ml <app1> <app2> -<app3>

Nota

La Guía del usuario de Lmod proporciona más información sobre su uso.

2.2. Compilar código propio

s Además de las aplicaciones para uso general, también están disponibles compiladores y bibliotecas para compilar código propio. Los conjuntos de estas dependencias básicas son los denominados toolchains que se distribuyen también mediante los correspondientes modulesi

En Magerit, las compilaciones se realizan con un reducido subconjunto de toolchains:

Toolchains Compiladores Librerías Matemáticas Librería MPI
foss GNU GNU OpenMPI
intel Intel Intel Intel
iomkl Intel Intel OpenMPI

Nota

Las versiones específicas que componen cada toolchain están descritas en los Common toolchains de Easybuild.

El toolchain iomkl es idéntico al intel reemplazando la librería MPI de Intel por la versión OpenMPI incorporada en foss. Esta configuración permite utilizar características únicas de OpenMPI mientras se usan las bibliotecas optimizadas de Intel.

Para configurar el entorno para utilizar cualquiera de los toolchains es necesario cargar el modulo correspondiente como para cualquier otro tipo de software.

module load <intel|iomkl|foss>

A partir de este momento, estará cargado todo el entorno de compilación: compiladores, librerias matematicas, librerias de paso de mensajes…