Existen dos métodos para utilizar un software:
module
Module es una utilidad provista por el paquete Environment Modules, disponible en sistemas GNU/Linux, el cual carga todos los elementos necesarios para utilizar una librería o software, eliminando complejas configuraciones en las variables de entorno, y de esta forma permitiendo seleccionar versiones distintas de una aplicación o librería de forma simple.
Para utilizar un software específico instalado en el clúster se debe ejecutar la utilidad module
. A continuación se presenta una guía básica para su uso habitual.
El comando ml
(o bien module list
) lista todos los módulos que estén cargados. El comando ml av
(o module avail
) lista todo el software disponible.
$ module avail ------------------------------------------------------------------- /usr/share/Modules/modulefiles -------------------------------------------------------------------- dot module-git module-info modules null use.own -------------------------------------------------------------------------- /opt/modulefiles --------------------------------------------------------------------------- cmake/3.15.4 ncbi-blast/2.13.0 python/3.7.4 expat/2.6.2 netcdf/c-4.7.3-fortran-4.5.2 R/3.6.1 fftw/3.3.10 openmpi/1.10.7 roary/3.12 gromacs/2019.4 openmpi/1.6.5 samtools/1.9 hdf5/1.10.5 openmpi/2.1.6 tabix/0.2.5 [ETC...]
Si la lista de módulos disponibles es muy larga, considere ejecutar el comando ml -d av
para listar solamente los módulos por defecto.
Seleccionar y cargar un módulo disponible con el comando module load [software]/[version]
Ejemplo:
Cargando el software Gromacs 2019.4, el cual a su vez carga el compilador gcc y openmpi de forma predefinida.
$ module load gromacs/2019.4 Loading gromacs/2019.4 Loading requirement: gcc/8.3.0 openmpi/2.1.6 $ ml Currently Loaded Modulefiles: 1) gcc/8.3.0 <aL> 2) wrf/4.0 3) R/3.6.1 4) openmpi/2.1.6 <aL> 5) gromacs/2019.4
Revisando versión actual de Gromacs
$ gmx_mpi --version :-) GROMACS - gmx, 2019.4 (-: GROMACS is written by: Emile Apol Rossen Apostolov Paul Bauer Herman J.C. Berendsen Par Bjelkmar Christian Blau Viacheslav Bolnykh Kevin Boyd Aldert van Buuren Rudi van Drunen Anton Feenstra Alan Gray ... GROMACS version: 2019.4 Precision: single Memory model: 64 bit MPI library: thread_mpi ...
Cuando no necesitas más un software o librería específico, debes descargarlo con el comando module unload [software]/[version]
Ejemplo:
Descargando el software Gromacs 2019.4 que fue cargado en el ejemplo previo
$ ml Currently Loaded Modulefiles: 1) gcc/8.3.0 <aL> 2) wrf/4.0 3) R/3.6.1 4) openmpi/2.1.6 <aL> 5) gromacs/2019.4 $ module unload gromacs/2019.4 Unloading gromacs/2019.4 Unloading useless requirement: openmpi/2.1.6 gcc/8.3.0 $ ml Currently Loaded Modulefiles: 1) gcc/8.3.0 <aL> 2) wrf/4.0 3) R/3.6.1
Eliminar todos los módulos que se tienen cargados previamente, con el comando module purge
Ejemplo:
$ ml Currently Loaded Modulefiles: 1) gcc/8.3.0 <aL> 2) wrf/4.0 3) R/3.6.1 4) openmpi/2.1.6 <aL> 5) gromacs/2019.4 $ module purge $ ml No Modulefiles Currently Loaded.