Environment modules TCL#
DEPRECATED
Debido a la actualización del sistema operativo de los nodos de cómputo está página de documentación quedará obsoleta. La nueva herramienta a usar será Lmod
Puesto que es usted está en un entorno compartido por cientos de usuarios, la forma de proveer multiples aplicaciones en sus múltiples versiones a multitud de usuarios en un entorno de computo distribuido no es la misma que en un ordenador personal o un servidor propio.
La herramienta para la gestión de estos entornos se llama Environment Modules. Puede encontrar una explicación sobre Environment modules en el siguiente enlace:
Básicamente Environment modules son un conjunto de scripts que nos permiten modificar fácilmente el entorno de usuario (la shell) haciendo disponibles al usuario sólo las aplicaciones que queramos usar. Por tanto, será la herramienta a usar para cargar/descargar aplicaciones una vez se inicie sesión el los nodos de login.
¿Comó usar environment modules?#
En apartados posteriores verá cómo se usan junto al gestor de colas de trabajos Slurm pero para familiarizarse puede iniciar sesión en un nodo de login y ejecutar los siguientes comando y ejemplos para entender su funcionamiento:
Ejemplos#
$ which gcc -> /usr/bin/gcc
$ module load gcc/10.2.0
$ which gcc -> /opt/envhpc/utils/rhel6/gcc/10.2.0/bin/gcc
$ module av python
------------------------ /opt/envhpc/modulefiles/.rhel6 ------------------------
python/2.7.18/gcc python/3.5.4/gcc python/3.7.9/gcc python/3.8.11/gcc
$ which python -> /usr/bin/python
$ which python3 -> /usr/bin/which: no python3 in (/usr/local/bin:...)
$ module load python/3.7.9/gcc -> Requisito cargar openssl/1.1.1k/gcc
python/3.7.9/gcc(10):ERROR:151: Module 'python/3.7.9/gcc' depends on one of the module(s) 'openssl/1.1.1k/gcc'.
python/3.7.9/gcc(10):ERROR:102: Tcl command execution failed: prereq openssl/1.1.1k/gcc.
$ module load openssl/1.1.1k/gcc python/3.7.9/gcc
$ which python3 -> /opt/envhpc/utils/rhel6/python/3.7.9/gcc-10.2.0/bin/python3
En este caso, cómo primer paso, busca alguna versión de python disponible en el sistema.
Seguidamente, observará que comando python3 no está disponible.
Al cargar el módulo python/3.7.9/gcc se pide como requisito para su correcto funcionamiento precargue el módulo openssl/1.1.1k/gcc.
Una vez cargados estos dos módulos, puede observar cómo la versión 3.7.9 de python está disponible.