Taller práctico Hackathon: Acceso a Finis Terrae II · Utilización del sistema de colas. Taller...
Transcript of Taller práctico Hackathon: Acceso a Finis Terrae II · Utilización del sistema de colas. Taller...
![Page 1: Taller práctico Hackathon: Acceso a Finis Terrae II · Utilización del sistema de colas. Taller práctico Hackathon : Acceso a Finis Terrae II . sbatch: Envía un script a una partición](https://reader031.fdocuments.co/reader031/viewer/2022021521/5bac5cec09d3f2c06d8d2d82/html5/thumbnails/1.jpg)
Mayo 2017
Acceso y portal de
usuarios. VPN
Taller práctico Hackathon:
Acceso a Finis Terrae II
![Page 2: Taller práctico Hackathon: Acceso a Finis Terrae II · Utilización del sistema de colas. Taller práctico Hackathon : Acceso a Finis Terrae II . sbatch: Envía un script a una partición](https://reader031.fdocuments.co/reader031/viewer/2022021521/5bac5cec09d3f2c06d8d2d82/html5/thumbnails/2.jpg)
Conexión por SSH
En Linux/Mac: ssh [email protected]
En Windows: Abrir una sesión con Putty o MobaXterm a ft2.cesga.es
MobaXterm: terminal SSH, servidor X y cliente SCP/FTP
El acceso a nuestros servidores de cálculo está restringido a los centros autorizados
(universidades gallegas, centros del CSIC, centros con convenios especiales, ...).
Fuera de ahí se puede usar:
VPN (https://portalusuarios.cesga.es/info/conexion)
Usuario: <login>@cesga.es
Terminal SSH (https://portalusuarios.cesga.es/tools/web_ssh)
Escritorio Remoto (https://portalusuarios.cesga.es/tools/remote_vis)
Acceso al FT
![Page 3: Taller práctico Hackathon: Acceso a Finis Terrae II · Utilización del sistema de colas. Taller práctico Hackathon : Acceso a Finis Terrae II . sbatch: Envía un script a una partición](https://reader031.fdocuments.co/reader031/viewer/2022021521/5bac5cec09d3f2c06d8d2d82/html5/thumbnails/3.jpg)
Clientes gráficos para la transferencia de datos:
Windows: WinSCP, MobaXterm
Mac: Fugu
Windows/Mac/Linux: Filezilla
Línea de comandos (scp, sftp, rsync)
IMPORTANTE: Los ficheros en Windows tienen el carácter Ctrl-M como salto de
línea
Solución 1: Transferir los ficheros en modo texto
Solución 2: dos2unix FICHERO
Transferencia de ficheros
![Page 4: Taller práctico Hackathon: Acceso a Finis Terrae II · Utilización del sistema de colas. Taller práctico Hackathon : Acceso a Finis Terrae II . sbatch: Envía un script a una partición](https://reader031.fdocuments.co/reader031/viewer/2022021521/5bac5cec09d3f2c06d8d2d82/html5/thumbnails/4.jpg)
Mayo 2017
Utilización del
sistema de colas.
Taller práctico Hackathon :
Acceso a Finis Terrae II
![Page 5: Taller práctico Hackathon: Acceso a Finis Terrae II · Utilización del sistema de colas. Taller práctico Hackathon : Acceso a Finis Terrae II . sbatch: Envía un script a una partición](https://reader031.fdocuments.co/reader031/viewer/2022021521/5bac5cec09d3f2c06d8d2d82/html5/thumbnails/5.jpg)
sbatch: Envía un script a una partición de SLURM. El único
parámetro obligatorio es el tiempo estimado.
sinfo: Muestra información sobre los nodos de SLURM y las
particiones.
squeue: Muestra información sobre los trabajos, su estado y las
colas.
squeue -u <login>
scancel: Permite cancelar un trabajo.
scontrol: Devuelve información más detallada sobre los nodos,
particiones, trabajos y la configuración.
scontrol show jobid -dd <jobid>
sacct: Consulta del histórico de trabajos y muestra información de
consumo.
SLURM: Comandos básicos
![Page 6: Taller práctico Hackathon: Acceso a Finis Terrae II · Utilización del sistema de colas. Taller práctico Hackathon : Acceso a Finis Terrae II . sbatch: Envía un script a una partición](https://reader031.fdocuments.co/reader031/viewer/2022021521/5bac5cec09d3f2c06d8d2d82/html5/thumbnails/6.jpg)
Particiones existentes en estos momentos:
Particiones
PartitionName Default MaxNodes MaxTime Shared
TotalN
odes
MemPer
CPU
MaxMemPer
Node
cola-corta UNLIMITED 4:00:00 EXCLUSIVE 48 120G
fatnode UNLIMITED UNLIMITED SHARED 1 5120 4000G
gpu-interactive 1 UNLIMITED SHARED 1 5120 120G
gpu-shared UNLIMITED UNLIMITED SHARED 3 5120 120G
iphi-interactive 1 UNLIMITED SHARED 1 5120 120G
iphinodes UNLIMITED UNLIMITED EXCLUSIVE 2 120G
thin-interactive 1 1-00:00:00 SHARED 2 5120 120G
thinnodes UNLIMITED UNLIMITED EXCLUSIVE 222 120G
thin-shared YES 1 UNLIMITED SHARED 32 5120 120G
![Page 7: Taller práctico Hackathon: Acceso a Finis Terrae II · Utilización del sistema de colas. Taller práctico Hackathon : Acceso a Finis Terrae II . sbatch: Envía un script a una partición](https://reader031.fdocuments.co/reader031/viewer/2022021521/5bac5cec09d3f2c06d8d2d82/html5/thumbnails/7.jpg)
Cada usuario tiene asignada una QOS por defecto
Para utilizar una QOS diferente se debe añadir la opción “--qos QOS_NAME” a la hora
de enviar el trabajo
Aunque no suelen ser habituales, algunos usuarios pueden tener algunos límites
especiales, por ejemplo por pertenecer a una determinada institución o grupo
Comandos útiles:
batchlim sacctmgr show user <login> –s
Default QOS y otros límites
![Page 8: Taller práctico Hackathon: Acceso a Finis Terrae II · Utilización del sistema de colas. Taller práctico Hackathon : Acceso a Finis Terrae II . sbatch: Envía un script a una partición](https://reader031.fdocuments.co/reader031/viewer/2022021521/5bac5cec09d3f2c06d8d2d82/html5/thumbnails/8.jpg)
Es obligatorio especificar el tiempo máximo de ejecución con la opción “-t D-
HH:MM:SS” o “--time D-HH:MM:SS”
Opciones por defecto: -N 1 -n 1 -c 1 (shared), -N 1 -n 1 –c 24 (exclusive)
Los requisitos del trabajo se pueden indicar a la hora de enviar el trabajo con el
comando sbatch o bien con directivas dentro del script utilizado (#SBATCH)
sbatch exporta el entorno existente en el momento de ejecutarlo al trabajo, incluidos
los módulos cargados
Se puede evitar con la opción “--export=NONE”
En el caso de los módulos puede ejecutarse “module purge”
Envío de trabajos: sbatch
![Page 9: Taller práctico Hackathon: Acceso a Finis Terrae II · Utilización del sistema de colas. Taller práctico Hackathon : Acceso a Finis Terrae II . sbatch: Envía un script a una partición](https://reader031.fdocuments.co/reader031/viewer/2022021521/5bac5cec09d3f2c06d8d2d82/html5/thumbnails/9.jpg)
Envío de un trabajo secuencial
#!/bin/bash
#
# this file is myjob.sh
#
#SBATCH –t 10:00
#SBATCH --job-name MyJob
#SBATCH --mail-type BEGIN,END
#
myprog -n 100 < infile
% sbatch myjob.sh
#!/bin/bash
#
# this file is myjob2.sh
#
myprog -n 100 < infile
% sbatch –t 10:00 --job-name
MyJob --mail-type BEGIN,END
myjob2.sh
![Page 10: Taller práctico Hackathon: Acceso a Finis Terrae II · Utilización del sistema de colas. Taller práctico Hackathon : Acceso a Finis Terrae II . sbatch: Envía un script a una partición](https://reader031.fdocuments.co/reader031/viewer/2022021521/5bac5cec09d3f2c06d8d2d82/html5/thumbnails/10.jpg)
Slurm combina por defecto la salida estándar y de error en un único fichero llamado
slurm-<job_number>.out o en slurm-<job_number>_<array_index>.out caso de
un job array
Localización por defecto: directorio de envío
Se puede modificar este comportamiento con las opciones:
--error /path/to/dir/filename
--output /path/to/dir/filename
Ficheros de salida/error
![Page 11: Taller práctico Hackathon: Acceso a Finis Terrae II · Utilización del sistema de colas. Taller práctico Hackathon : Acceso a Finis Terrae II . sbatch: Envía un script a una partición](https://reader031.fdocuments.co/reader031/viewer/2022021521/5bac5cec09d3f2c06d8d2d82/html5/thumbnails/11.jpg)
Al entrar en ejecución un trabajo se crean los siguientes directorios de scratch:
$LUSTRE_SCRATCH: directorio temporal en el Lustre
$LOCAL_SCRATCH o $TMPDIR: directorio temporal en el disco local del nodo
Estos directorios se borran automáticamente al finalizar los trabajos
Atención: El contenido del $LUSTRE_SCRATCH también cuenta para calcular la
cuota en el LUSTRE.
sbatch: directorios de scratch
![Page 12: Taller práctico Hackathon: Acceso a Finis Terrae II · Utilización del sistema de colas. Taller práctico Hackathon : Acceso a Finis Terrae II . sbatch: Envía un script a una partición](https://reader031.fdocuments.co/reader031/viewer/2022021521/5bac5cec09d3f2c06d8d2d82/html5/thumbnails/12.jpg)
Razones para usar los nodos interactivos:
Testeo/Debugging de códigos con requisitos de CPU y memoria medios
Pre/post-proceso de datos
Aplicaciones gráficas
Razones para NO usar los nodos interactivos:
Más fáciles de usar que enviar un trabajo a cola
Comando compute (sesiones limitadas a 8 horas)
[prey@fs6803 ~]$ compute -u
Uso: compute [-c <NCORES>]
[--mem <MEM>]
[--gpu]
[--phi]
[--x11]
Trabajos interactivos: compute
![Page 13: Taller práctico Hackathon: Acceso a Finis Terrae II · Utilización del sistema de colas. Taller práctico Hackathon : Acceso a Finis Terrae II . sbatch: Envía un script a una partición](https://reader031.fdocuments.co/reader031/viewer/2022021521/5bac5cec09d3f2c06d8d2d82/html5/thumbnails/13.jpg)
Comandos:
squeue: listado de los trabajos en cola
scontrol show job JOB_ID [-dd]: información de un trabajo
sacct: información de los recursos utilizados por los trabajos (tanto
finalizados como en cola).
Conexión a los nodos: top, strace, revisión de ficheros temporales, …
Los usuarios (tu) son los responsables de monitorizar sus trabajos
Monitorización de trabajos
![Page 14: Taller práctico Hackathon: Acceso a Finis Terrae II · Utilización del sistema de colas. Taller práctico Hackathon : Acceso a Finis Terrae II . sbatch: Envía un script a una partición](https://reader031.fdocuments.co/reader031/viewer/2022021521/5bac5cec09d3f2c06d8d2d82/html5/thumbnails/14.jpg)
Envío de trabajos a estos nodos (4 nodos):
sbatch –p gpu-shared --gres=gpu script.sh
sbatch --partition=gpu-shared --gres=gpu script.sh
Si no se indica la opción --gres=gpu no se asignará la GPU
Se puede solicitar el uso de más de una GPU con la opción --gres=gpu:N donde N es
un valor entre 1 y 4
Uso de los nodos con GPU
![Page 15: Taller práctico Hackathon: Acceso a Finis Terrae II · Utilización del sistema de colas. Taller práctico Hackathon : Acceso a Finis Terrae II . sbatch: Envía un script a una partición](https://reader031.fdocuments.co/reader031/viewer/2022021521/5bac5cec09d3f2c06d8d2d82/html5/thumbnails/15.jpg)
Envío de trabajos a estos nodos (2 nodos):
sbatch –p iphinodes --gres=mic script.sh
sbatch --partition=iphinodes --gres=mic script.sh
Se puede solicitar el uso de más de un Intel PHI con la opción --gres=mic:N donde N
es un valor entre 1 y 2
Uso de los nodos Intel PHI
![Page 16: Taller práctico Hackathon: Acceso a Finis Terrae II · Utilización del sistema de colas. Taller práctico Hackathon : Acceso a Finis Terrae II . sbatch: Envía un script a una partición](https://reader031.fdocuments.co/reader031/viewer/2022021521/5bac5cec09d3f2c06d8d2d82/html5/thumbnails/16.jpg)
Cuentas: curso871 a curso880
Se han reservado 2 nodos con GPU y 2 nodos con PHI por lo que habrá que añadir
alguna opción para poder usarlos.
Trabajos interactivos:
compute.hack en vez de compute
Envío de trabajos: añadir la opción --reservation=<RES_NAME> al sbatch
sbatch --reservation=HACK_PHI_30May –p iphinodes
--gres=mic script.sh
Reservas: Una reserva por día y tipo de nodo:
HACK_GPU_30May, HACK_PHI_30May
HACK_GPU_31May, HACK_PHI_31May
HACK_GPU_01Jun, HACK_PHI_01Jun
Recursos Hackathon
![Page 17: Taller práctico Hackathon: Acceso a Finis Terrae II · Utilización del sistema de colas. Taller práctico Hackathon : Acceso a Finis Terrae II . sbatch: Envía un script a una partición](https://reader031.fdocuments.co/reader031/viewer/2022021521/5bac5cec09d3f2c06d8d2d82/html5/thumbnails/17.jpg)
Se ha creado una MV con 2 cores y 2GB de memoria para los equipos que utilizan
Windows.
Team1: 10.38.3.51; usuario hackathon
Team2: 10.38.3.52; usuario hackathon
Team6: 10.38.3.56; usuario hackathon
Acceso:
ssh -X [email protected] con N=1,2 ó 6
Software en $HOME/pwtrainer-0.4.0-Linux
Parallware Trainer: MV
![Page 18: Taller práctico Hackathon: Acceso a Finis Terrae II · Utilización del sistema de colas. Taller práctico Hackathon : Acceso a Finis Terrae II . sbatch: Envía un script a una partición](https://reader031.fdocuments.co/reader031/viewer/2022021521/5bac5cec09d3f2c06d8d2d82/html5/thumbnails/18.jpg)
Mayo 2017
Compilación
Taller práctico Hackathon:
Acceso a Finis Terrae II
![Page 19: Taller práctico Hackathon: Acceso a Finis Terrae II · Utilización del sistema de colas. Taller práctico Hackathon : Acceso a Finis Terrae II . sbatch: Envía un script a una partición](https://reader031.fdocuments.co/reader031/viewer/2022021521/5bac5cec09d3f2c06d8d2d82/html5/thumbnails/19.jpg)
Combinaciones de compiladores, librerías BLAS/LAPACK y MPI disponibles:
Compiladores de Intel
Compiladores GNU
Otros.
Aceleradores
NVIDIA GPU: CUDA/PGI
INTEL PHI
Compiladores y herramientas de
desarrollo
![Page 20: Taller práctico Hackathon: Acceso a Finis Terrae II · Utilización del sistema de colas. Taller práctico Hackathon : Acceso a Finis Terrae II . sbatch: Envía un script a una partición](https://reader031.fdocuments.co/reader031/viewer/2022021521/5bac5cec09d3f2c06d8d2d82/html5/thumbnails/20.jpg)
Soporte de estándares
Programación: Soporte de los últimos estándares
Todas las implementaciones estables de los estándares de programación
actuales
Posibilidad de instalación de implementaciones experimentales: LLVM
Paralelización
OpenMP: Intel/GCC
OpenACC: PGI/GCC
MPI: Intel MPI/OpenMPI
![Page 21: Taller práctico Hackathon: Acceso a Finis Terrae II · Utilización del sistema de colas. Taller práctico Hackathon : Acceso a Finis Terrae II . sbatch: Envía un script a una partición](https://reader031.fdocuments.co/reader031/viewer/2022021521/5bac5cec09d3f2c06d8d2d82/html5/thumbnails/21.jpg)
Compilación
Uso de módulos
module av o module spider [app] -> para ver versiones disponibles
module list -> muestra los módulos cargados
module purge -> descarga todos los módulos cargados
module load -> carga un módulo
module rm -> descarga un módulo
module help -> breve guía de uso
Existe jerarquía de módulos
![Page 22: Taller práctico Hackathon: Acceso a Finis Terrae II · Utilización del sistema de colas. Taller práctico Hackathon : Acceso a Finis Terrae II . sbatch: Envía un script a una partición](https://reader031.fdocuments.co/reader031/viewer/2022021521/5bac5cec09d3f2c06d8d2d82/html5/thumbnails/22.jpg)
Compilación CPU
![Page 23: Taller práctico Hackathon: Acceso a Finis Terrae II · Utilización del sistema de colas. Taller práctico Hackathon : Acceso a Finis Terrae II . sbatch: Envía un script a una partición](https://reader031.fdocuments.co/reader031/viewer/2022021521/5bac5cec09d3f2c06d8d2d82/html5/thumbnails/23.jpg)
Aceleradores
NVIDIA GPUs
CUDA
Intel Phi
Intel compilers
![Page 24: Taller práctico Hackathon: Acceso a Finis Terrae II · Utilización del sistema de colas. Taller práctico Hackathon : Acceso a Finis Terrae II . sbatch: Envía un script a una partición](https://reader031.fdocuments.co/reader031/viewer/2022021521/5bac5cec09d3f2c06d8d2d82/html5/thumbnails/24.jpg)
Aceleradores
NVIDIA GPUs
CUDA
http://www.nvidia.com/object/learn-parallel-programming.html
![Page 25: Taller práctico Hackathon: Acceso a Finis Terrae II · Utilización del sistema de colas. Taller práctico Hackathon : Acceso a Finis Terrae II . sbatch: Envía un script a una partición](https://reader031.fdocuments.co/reader031/viewer/2022021521/5bac5cec09d3f2c06d8d2d82/html5/thumbnails/25.jpg)
Compilación GPU
![Page 26: Taller práctico Hackathon: Acceso a Finis Terrae II · Utilización del sistema de colas. Taller práctico Hackathon : Acceso a Finis Terrae II . sbatch: Envía un script a una partición](https://reader031.fdocuments.co/reader031/viewer/2022021521/5bac5cec09d3f2c06d8d2d82/html5/thumbnails/26.jpg)
Aceleradores
Intel Phi
Intel compilers
![Page 27: Taller práctico Hackathon: Acceso a Finis Terrae II · Utilización del sistema de colas. Taller práctico Hackathon : Acceso a Finis Terrae II . sbatch: Envía un script a una partición](https://reader031.fdocuments.co/reader031/viewer/2022021521/5bac5cec09d3f2c06d8d2d82/html5/thumbnails/27.jpg)
https://www.nersc.gov/assets/MKL_for_MIC.pdf
Compilacion Intel Xeon Phi
![Page 28: Taller práctico Hackathon: Acceso a Finis Terrae II · Utilización del sistema de colas. Taller práctico Hackathon : Acceso a Finis Terrae II . sbatch: Envía un script a una partición](https://reader031.fdocuments.co/reader031/viewer/2022021521/5bac5cec09d3f2c06d8d2d82/html5/thumbnails/28.jpg)
Dudas, preguntas, comentarios….