= ALTAMIRA = [[NoteBox(note, Se recomienda la lectura la [https://grid.ifca.es/wiki/Supercomputing/Userguide guía de usuario] del Supercomputador Altamira antes de la realización de la práctica.)]] == Práctica 1 == El objetivo de esta práctica es tomar contacto con el uso del Supercomputador Altamira, así como del sistema de colas [https://computing.llnl.gov/linux/slurm/ SLURM] instalado en él: 1. Conéctese al frontend de Altamira (altamira1.ifca.es) mediante el comando `ssh` (!Linux/Mac OS) o el programa [http://the.earth.li/~sgtatham/putty/latest/x86/putty.exe PyTTY](Windows). Para ello, previamente cada alumno ha recibido un correo con una cuenta y una clave de acceso: {{{ [user@localmachine ~]$ ssh user@altamira1.ifca.es }}} 2. Desde el frontend, utilizando la plantilla que se adjunta enviar un job. Para lo cual, será necesario utilizar el comando '''mnsubmit''', así como los editores '''vi''' o '''nano'''. Plantilla: {{{ #!/bin/bash #@ job_name = sleep_%j #@ initialdir = . #@ output = sleep_%j.out #@ error = sleep_%j.err #@ total_tasks = 1 #@ wall_clock_limit = 00:02:00 echo "Nodo: ${SLURM_NODELIST}" echo "Hora de inicio `date`" sleep 30 echo "Hora de fin `date`" }}} * Envío de jobs: {{{ [user@login1 ~]$ mnsubmit sleep_template }}} * Para monitorizar el job use el comando '''mnq''': {{{ [user@login1 ~]$ mnq JOBID NAME USER STATE TIME TIMELIMIT CPUS NODES NODELIST(REASON) 621336 0.sleep_ user PENDING 0:00 2:00 1 1 (Priority) }}} * Comprobar el resultado obtenido en los ficheros de '''output''' y '''error'''. 3. {{{ $ module load gcc }}} {{{ $ gcc HelloWorldOpenMP.c -o HelloWorldOpenMP }}} {{{ #!/bin/bash #@ job_name = openmp_%j #@ initialdir = . #@ output = openmp_%j.out #@ error = openmp_%j.err #@ total_tasks = 32 #@ wall_clock_limit = 00:02:00 echo "Numero de procesos: ${SLURM_NPROCS}" echo "Numero de nodos: ${SLURM_NNODES}" echo "Nodos: ${SLURM_NODELIST}" ./HelloWorldOpenMP }}} {{{ $ module load gcc $ mnsubmit HelloWorldOpenMP_template }}}