🧰 Software preinstalado#

El acceso a los programas instalados en los clusters se realiza a través de Environment Modules.

El comando module se utiliza para cargar y gestionar módulos de entorno. Los módulos son conjuntos de variables de entorno y configuraciones que permiten a los usuarios cambiar fácilmente entre diferentes entornos de software sin tener que configurar manualmente cada variable.

Resumen de comandos#

module av:

Ver los módulos disponibles

module load:

Cargar un módulo

module list:

Ver una lista de módulos cargados

module purge:

Quitar todos los módulos cargados

Ejemplo: Cargar compiladores Fortran#

Preguntas frecuentes#

No veo ninguna biblioteca disponible

Para visualizar las bibliotecas instaladas, es necesario cargar primero el módulo del compilador correspondiente. El sistema organiza el software de forma jerárquica para garantizar la compatibilidad.

La biblioteca o aplicación que necesito no está instalada

Comuníquese con el equipo de soporte detallando su requerimiento para evaluar la instalación en el cluster.

¿Qué flags de compilación ofrecen el mejor rendimiento?

Cada módulo de compilador define variables de entorno con optimizaciones recomendadas (aunque conservadoras). Puede consultarlas ejecutando env | grep FLAGS una vez cargado el módulo correspondiente.

¿Por qué no se instalan versiones más recientes de ciertas herramientas?

Las versiones elegidas son las más nuevas posibles al momento de la instalación del software del cluster. Agregar versiones de compiladores multiplica la cantidad de bibliotecas a compilar y para las que dar soporte, por lo que sólo se hace de ser extremadamente necesario.

¿Por qué no cuentan con Clang/LLVM?

Porque la suite de compiladores de LLVM no tiene un compilador Fortran estable todavía. Estamos siguiendo el progreso de Flang.

¿Cómo utilizo NVIDIA CUDA para compilar o ejecutar mis aplicaciones?

Disponemos de dos opciones según el compilador que prefiera:

  • NVIDIA (NVHPC)

    $ module load nvhpc
    
  • GNU (GCC)

    $ module load gcc cuda
    
¿Por qué utilizan OpenMPI en lugar de MVAPICH2 o Intel MPI?

Priorizamos la homogeneidad entre los distintos clusters. OpenMPI ofrece la mejor compatibilidad general con aplicaciones y bibliotecas.

Necesito una versión de compilador distinta a las disponibles

Los usuarios pueden compilar e instalar sus propios toolchains en sus homes. Para facilitar este proceso, recomendamos el uso de Spack.

El Python del sistema es antiguo o no tiene los módulos que necesito

Debido a la diversidad de requerimientos, recomendamos que cada usuario gestione su propio entorno de Python en su home. La herramienta recomendada para esto es Miniconda, que permite instalar versiones específicas y paquetes sin conflictos.