Dada la incorporación de geryon 3, durante las próximas semanas se actualizarán las políticas de uso de geryon 2. Por favor, estar atentos a nuestros canales de información.
Clúster de cómputo Geryon 3
El clúster de cómputo Geryon 3 está integrado por 12 nodos de última generación marca Supermicro en formato twin. Cada uno cuenta con dos procesadores de 32 núcleos cada uno y 8 GB de memoria por núcleo. En total, el nuevo Geryon 3 tiene 768 núcleos y 6,14 TB de memoria, con una capacidad de cómputo teórica total de 58 TFlops.
Los servidores están conectados por una red ethernet de 10 Gbps y una red Mellanox de capacidad máxima 200 Gbps de transferencia.
Reglas de uso
Geryon 3 es un clúster de alto rendimiento destinado a usuarios pertenecientes al Centro de Astronomía y Tecnologías Afines (CATA) y a la Sociedad Chilena de Astronomía (SOCHIAS). Otros usuarios pueden tener acceso, para lo cual deben realizar una solicitud a geryon.support@astro.puc.cl.
Para garantizar un uso en comunidad ordenado, es que se establecen las siguientes reglas de uso:
Reglas generales
- Es obligatorio indicar en publicaciones los agradecimientos al uso del clúster cuando éste haya sido utilizado en el proceso.
- Las interfaces gráficas no están permitidas. Esto incluye herramientas como jupyter-notebook.
- El servidor front-end no debe utilizarse para procesamiento intensivo, pero si pueden realizarse tareas de bajo consumo de CPU como edición o transferencia de archivos, compilación de códigos o comandos del sistema de colas.
- Está estrictamente prohibido ejecutar código directamente en los nodos, evitando el sistema de colas.
- El usuario requiere de conocimientos básicos de BASH y sistema de colas. De ser necesario, se puede solicitar una inducción al equipo de Geryon 3.
Restricciones de jobs
- El máximo de núcleos permitidos son 120 en total. La distribución de estos núcleos entre los jobs queda a los requerimientos del usuario.
- La duración de los jobs no puede ser superior a 3 días (72 horas).
- El uso de los recursos debe ser optimizado para HPC. La falta a esta regla puede implicar una reasignación al clúster de Geryon 2.
- No está permitido utilizar jobs para mantener recursos “reservados” o bloqueados.
- No está permitido utilizar el modo interactivo de jobs para ejecutar por un tiempo superior a 1 hora.
Reglas de almacenamiento
- Todo almacenamiento en el clúster debe estar destinado a cómputo. Se asumirá que los datos de usuarios inactivos con más de 1 año de antigüedad pueden ser eliminados.
- Es responsabilidad del usuario limpiar periódicamente sus directorios.
- El almacenamiento máximo permitido en el directorio /home es de 100 GB destinado a códigos y datos críticos. Este almacenamiento no es posible extenderlo.
- Para almacenamiento de mayores volúmenes de largo plazo, se puede solicitar un directorio en /data01, con un límite de hasta 1 TB.
- Para almacenamiento de mayores volúmenes de corto plazo, se puede solicitar un directorio en /scratch con un límite de hasta 4 TB.
Restricciones de jobs
- El máximo de núcleos permitidos y la duración de los jobs se definen para cada caso a partir de la propuesta del usuario. La distribución de estos núcleos entre los jobs queda a los requerimientos del usuario.
- El uso de los recursos debe ser optimizado para HPC. La falta a esta regla puede implicar la pérdida de la categoría avanzada o la reasignación al clúster de Geryon 2.
- No está permitido utilizar jobs para mantener recursos “reservados” o bloqueados.
- No está permitido utilizar el modo interactivo de jobs para ejecutar por un tiempo superior a 1 hora.
Reglas de almacenamiento
- Todo almacenamiento en el clúster debe estar destinado a cómputo. Se asumirá que los datos de usuarios inactivos con más de 1 año de antigüedad pueden ser eliminados.
- Es responsabilidad del usuario limpiar periódicamente sus directorios.
- El almacenamiento máximo permitido en el directorio /home es de 100 GB destinado a códigos y datos críticos. Este almacenamiento no es posible extenderlo.
- Para almacenamiento de mayores volúmenes de largo plazo, se puede solicitar un directorio en /data01. El espacio y plazo dependen de lo indicado para cada proyecto.
- Para almacenamiento de mayores volúmenes de corto plazo, se puede solicitar un directorio en /scratch. El espacio y plazo dependen de lo indicado para cada proyecto.
Uso básico del clúster
Comandos básicos
- squeue: Muestra los jobs activos y en espera en el sistema de colas.
- sview: Permite de manera gráfica revisar la asignación de recursos y realizar acciones en los jobs del usuario. Se debe contar con X11 habilitado.
- sbatch: Envía un job al sistema de colas.
- sinfo: Muestra el estado de nodos y particiones.
- squeue -start: Muestra el tiempo de espera para jobs en estado IDLE.
- scancel: Cancela un job en ejecución.
Envío de jobs
En SLURM, el comando para enviar jobs al sistema de colas es el sbatch. Para ello, se puede ejecutar directamente el comando desde la consola con las flags de preparación correspondientes o bien preparar un archivo de configuración para el job. Recomendamos probar este script para habituarse a las flags de sbatch, que permite generar el archivo de configuración de manera automática: Job Script Generator (puc.cl).
Librerías y módulos
Geryon 3 utiliza el sistema de módulos para organizar y clasificar sus librerías, lo que permite configurar varias versiones y propiedades de la misma librería sin que esto altere al uso de otros usuarios o al sistema.
Para revisar los módulos disponibles, se puede ejecutar el comando “module avail”, luego, se puede elegir el módulo a cargar con “module load …”. Recuerda que si deseas que tu script utilice los módulos cargados, debes incluir este comando en el archivo de configuración del job.
Si requieren de alguna librería que no se encuentre disponible, pueden solicitarla al equipo de Geryon 3 o bien compilarla a nivel local en su usuario. Además, para versiones distintas de python a las disponibles, se recomienda utilizar miniconda.
Lista de Módulos
Módulos de MPI
hpcx
hpcx-debug
hpcx-debug-ompi
hpcx-mt
hpcx-mt-ompi
hpcx-ompi
hpcx-prof
hpcx-prof-ompi
hpcx-stack
openmpi/4.1.5/gnu
openmpi/4.1.5/intel
openmpi/4.1.5/no-mellanox
Generales de INTEL
advisor/2023.2.0
compiler32/latest
dnnl-cpu-tbb/2023.2.0
icc32/latest
oclfpga/2023.2.1
advisor/latest
dal/2023.2.0
dnnl-cpu-tbb/latest
intel_ipp_intel64/2021.9.0
oclfpga/latest
ccl/2021.10.0
dal/latest
dnnl/2023.2.0
intel_ipp_intel64/latest
tbb/2021.10.0
ccl/latest debugger/2023.2.0
dnnl/latest
intel_ippcp_intel64/2021.8.0
tbb/latest
compiler-rt/2023.2.1
debugger/latest dpct/2023.2.0
intel_ippcp_intel64/latest
tbb32/2021.10.0
compiler-rt/latest
dev-utilities/2021.10.0
dpct/latest
mkl/2023.2.0
tbb32/latest
compiler-rt32/2023.2.1
dev-utilities/latest
dpl/2022.2.0
mkl/latest vtune/2023.2.0
compiler-rt32/latest
dnnl-cpu-gomp/2023.2.0
dpl/latest mkl32/2023.2.0
vtune/latest
compiler/2023.2.1
dnnl-cpu-gomp/latest
icc/2023.2.1
mkl32/latest
compiler/latest
dnnl-cpu-iomp/2023.2.0
icc/latest mpi/2021.10.0
compiler32/2023.2.1
dnnl-cpu-iomp/latest
icc32/2023.2.1
mpi/latest
Otros
fftw2_openmpi_double
hdf5/1.14.3/serial/gnu
fftw2/2.1.5/openmpi/double
fftw2/2.1.5/openmpi/float
hdf5/1.14.3/parallel/gnu
python-3.11.4
Respecto a los módulos MPI
A nivel de clúster, se ofrece una variedad de módulos MPI. Elegir el adecuado puede mejorar notoriamente el rendimiento, en particular si el uso de la interfaz Mellanox es intensiva. Sin embargo, algunos scripts pueden no compilar bien con módulos específicos y en esos casos es conveniente utilizar los genéricos (GNU)
En general, recomendamos utilizar los módulos hpcx (como el hpcx-mt ya probado para algunos códigos), luego usar los de INTEL y finalmente los GNU.
Agradecimientos en publicaciones
Si en alguna de las etapas de sus proyectos utilizaron el poder de cómputo de Geryon 3, es OBLIGATORIO indicar los agradecimientos correspondientes en sus publicaciones o equivalente. En el agradecimiento debe estar indicado el proyecto ANID-BASAL Center FB210003.
Un ejemplo de esto sería: