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.

En un momento determinado Magerit puede tener varias compilaciones diferentes de software identificadas por el año y, opcionalmente, una letra. El sistema cargará una de ellas por omisión, aunque es posible cargar otra simplemente cargando el module apps/[año] en la sesión interactiva y en los trabajos que se envíen al sistema.

Uso de aplicaciones instaladas

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

Mandato Descripción

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>

También es posible cargar una versión determinada.

module load <app>/<ver>

switch

Cambia una aplicación por otra.

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

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

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:

Mandato Descripción

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>

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

Compilar código propio

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 modules.

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

Toolchain Compiladores Librerías Matemáticas Librería MPI

foss

GNU

OpenMPI

intel

Intel

Intel MKL

Intel MPI

También se utilizan las variantes con soporte CUDA para gráficos. Los nombres de estos toolchains acaban en cuda (fosscuda e intelcuda) y contienen los mismos compiladores y herramientas añadiendo el soporte de CUDA.

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

Asimismo, están documentados todos los toolchains conocidos aunque son menos empleados.

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 <foss|fosscuda|intel|intelcuda>

A partir de este momento, estará cargado todo el entorno de compilación: compiladores, librerías matemáticas, librerías de paso de mensajes…

CeSViMaCentro de Supercomputación y Visualización de Madrid