===== Guía flash del cluster Tara ===== ==== Acceso al cluster ==== El acceso al cluster constá de dos partes: 1. Acceso al VPN de EIE, este acceso se solicita con Marco Villalta 2. Acceso al Cluster Tara, este acceso se solicita con PRIS JAM Una vez obtenidos los accesos necesarios, para ingresar al clúster se ejecuta: cd /etc/openvpn sudo openvpn client.conf #En una nueva consola ssh -l 192.168.18.251 # Donde 192.168.18.251 es la IP del cluster Tara ==== Monitoreo ==== Momentáneamente se cuenta con la página de monitoreo http://192.168.18.244/ganglia/ donde se puede monitorear uso de las CPU, GPU, RAM y el estado de temperatura ==== Módulos de ambiente ==== Los [[https://en.wikipedia.org/wiki/Environment_Modules_(software)|modulos de ambiente]] proveen una forma sencilla de tener varias versiones de un mismo programa o en general definir variables de ambiente de forma sencilla. Algunos comandos útiles son: # Desplegar la ayuda del comando module module help # Desplegar modulos de ambiente disponibles module avail # Cargar un modulo de ambiente module add # Remover un modulo de ambiente module rm # Desplegar información acerca de un modulo específico module display # Desplegar modulos de ambiente activos module list Algunos ejemplos: module add cuda # Cargar el CUDA toolkit module add compilers/gcc/9.3.0 # Cargar GCC 9.3.0 module add scientific/autodock-vina # Cargar autodock vina **Para cargar modulos de ambiente en scripts de bash ese necesario especificar la opción -i, de lo contrario se va a provocar un error. Forma correcta:** #!/bin/bash -i ... ==== SLURM ==== Slurm es un manejador de recursos utilizando en super computadores y clusters alrededor del mundo. El modelo de ejecución está basado en colas de ejecución (particiones), donde el usuario le pide a SLURM tiempo de computo y SLURM determina el mejor nodo del cluster para correr la tarea basado en los requirimientos del usuario. No todos tienen acceso a todas las particiones del cluster, para saber cuales particiones están disponnibles use el comando [[https://slurm.schedmd.com/sinfo.html|sinfo]], por ejemplo: [user@tara-master ~]$ sinfo --long PARTITION AVAIL TIMELIMIT JOB_SIZE ROOT OVERSUBS GROUPS NODES STATE NODELIST tara-default* up 5:00 1-2 no YES:4 all 4 idle cpu-[0-3] tara-5m up 5:00 1-2 no YES:4 all 4 idle cpu-[0-3] tara-30m up 30:00 1-2 no YES:4 all 4 idle cpu-[0-3] tara-1H up 1:00:00 1-2 no YES:4 all 4 idle cpu-[0-3] tara-2N-1H up 1:00:00 1-2 no YES:4 tara-compu 4 idle cpu-[0-3] tara-2N-2H up 2:00:00 1-2 no YES:4 tara-compu 4 idle cpu-[0-3] tara-2N-4H up 4:00:00 1-2 no YES:4 tara-compu 4 idle cpu-[0-3] tara-2N-8H up 8:00:00 1-2 no YES:4 tara-compu 4 idle cpu-[0-3] tara-2N-12H up 12:00:00 1-2 no YES:4 tara-compu 4 idle cpu-[0-3] tara-2N-16H up 16:00:00 1-2 no YES:4 tara-compu 4 idle cpu-[0-3] tara-2N-24H up 1-00:00:00 1-2 no YES:4 tara-compu 4 idle cpu-[0-3] tara-4N-1H up 1:00:00 1-infinite no YES:4 tara-compu 4 idle cpu-[0-3] tara-4N-2H up 2:00:00 1-infinite no YES:4 tara-compu 4 idle cpu-[0-3] tara-4N-4H up 4:00:00 1-infinite no YES:4 tara-compu 4 idle cpu-[0-3] tara-4N-8H up 8:00:00 1-infinite no YES:4 tara-compu 4 idle cpu-[0-3] tara-4N-16H up 16:00:00 1-infinite no YES:4 tara-compu 4 idle cpu-[0-3] tara-4N-24H up 1-00:00:00 1-infinite no YES:4 tara-compu 4 idle cpu-[0-3] tara-4N-48H up 2-00:00:00 1-infinite no YES:4 tara-compu 4 idle cpu-[0-3] tara-hpc-1H up 1:00:00 1-infinite no YES:4 tara-compu 4 idle cpu-[0-3] tara-hpc-2H up 2:00:00 1-infinite no YES:4 tara-compu 4 idle cpu-[0-3] tara-hpc-4H up 4:00:00 1-infinite no YES:4 tara-compu 4 idle cpu-[0-3] tara-hpc-8H up 8:00:00 1-infinite no YES:4 tara-compu 4 idle cpu-[0-3] tara-hpc-16H up 16:00:00 1-infinite no YES:4 tara-compu 4 idle cpu-[0-3] tara-hpc-24H up 1-00:00:00 1-infinite no YES:4 tara-compu 4 idle cpu-[0-3] tara-hpc-48H up 2-00:00:00 1-infinite no YES:4 tara-compu 4 idle cpu-[0-3] Para ver el status de los trabajos use el comando [[https://slurm.schedmd.com/squeue.html|squeue]] ejemplo: squeue -a Para cancelar trabajos use el comando [[https://slurm.schedmd.com/scancel.html|scancel]], ejemplo: scancel Existen 3 comandos principales para solicitar recursos a SLURM: 1. [[https://slurm.schedmd.com/sbatch.html|sbatch]] Es utilizando principalmente para trabajos batch o heterogéneos 2. [[https://slurm.schedmd.com/srun.html|srun]] Es utilizado principalmente para trabajos homogéneos 3. [[https://slurm.schedmd.com/salloc.html|salloc]] Es utilizado principalmente para trabajos interactivos heterogéneos Ejemplos: # Lanza un trabajo de sbatch sbatch # Lanza un hello-world en MPI con 2 procesos por nodo, 4 nodos y en la cola tara-HPC srun -N 4 -p tara-HPC --ntasks-per-node 2 mpi-hello-world Algunos recursos adicionales sobre el uso de SLURM: - https://support.ceci-hpc.be/doc/_contents/QuickStart/SubmittingJobs/SlurmTutorial.html - https://hpc.llnl.gov/banks-jobs/running-jobs/slurm-quick-start-guide - https://rcc.uchicago.edu/docs/running-jobs/srun-parallel/index.html ==== Ejemplos ==== [[:rise:ejemplos:jupyter| SLURM & Jupyter]] [[:rise:ejemplos:mpi_hello| Hello World para MPI y como correrlo con SLURM]]