Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
en:centro:servizos:hpc [2022/06/30 10:58] – fernando.guillen | en:centro:servizos:hpc [2024/05/23 11:27] (current) – fernando.guillen | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== | + | ====== |
- | [[ https:// | + | [[ https:// |
- | ===== Descripción | + | ===== Description |
- | El clúster está compuesto en la parte de cómputo por: | + | The computing part of the cluster is made up of: |
- | * 9 servidores para cómputo | + | * 9 servers for general |
- | * 1 "fat node" | + | * 1 "fat node" |
- | * 4 servidores para computo con GPU. | + | * 4 servers for GPU computing. |
- | Los usuarios solo tienen acceso directo al nodo de login, | + | Users only have direct access to the login node, which has more limited features and should not be used for computing. \\ |
- | Todos los nodos están interconectados por una red a 10Gb. \\ | + | All nodes are interconnected by a 10Gb network. \\ |
- | Hay un almacenamiento distribuido accesible desde todos los nodos con 220 TB de capacidad conectado mediante una doble red de fibra de 25Gb. \\ | + | There is distributed storage accessible from all nodes with 220 TB of capacity connected by a dual 25Gb fibre network. \\ |
\\ | \\ | ||
- | ^ | + | ^ |
| hpc-login2 | | hpc-login2 | ||
| hpc-node[1-2] | | hpc-node[1-2] | ||
| hpc-node[3-9] | | hpc-node[3-9] | ||
| hpc-fat1 | | hpc-fat1 | ||
- | | | + | | hpc-gpu[1-2] |
- | | hpc-gpu2 | + | |
| hpc-gpu3 | | hpc-gpu3 | ||
| hpc-gpu4 | | hpc-gpu4 | ||
- | * Es ctgpgpu8. Se integrará próximamente en cluster. | ||
- | ===== Conexión al sistema ===== | ||
- | Para acceder al clúster, hay que solicitarlo previamente a través de [[https:// | ||
- | El acceso se realiza mediante una conexión | + | ===== Accessing the cluster ===== |
+ | To access the cluster, access must be requested in advance via [[https:// | ||
+ | |||
+ | The access is done through an SSH connection to the login node (172.16.242.211): | ||
<code bash> | <code bash> | ||
ssh < | ssh < | ||
</ | </ | ||
- | ===== | + | ===== |
- | <note warning> | + | <note warning> |
- | El HOME de los usuarios en el cluster | + | The HOME of the users in the cluster |
- | Cada nodo tiene una partición | + | Each node has a local 1TB scratch |
- | Para datos que deban ser compartidos por grupos de usuarios, hay que solicitar la creación de una carpeta en el almacenamiento compartido que solo será accesible por los miembros del grupo.\\ | + | For data to be shared by groups of users, you must request the creation of a folder in the shared storage that will only be accessible by members of the group.\\ |
- | ^ | + | ^ |
| Home | %%$HOME%% | | Home | %%$HOME%% | ||
- | | Scratch | + | | |
- | | | + | | |
- | %%* el almacenamiento es compartido%% | + | %%* storage is shared |
- | === AVISO IMPORTANTE | + | === WARNING |
- | El sistema compartido de archivos tiene un mal rendimiento cuando trabaja con muchos archivos de tamaño pequeño. Para mejorar el rendimiento en ese tipo de escenarios hay que crear un sistema de archivos en un fichero de imagen y montarlo para trabajar directamente sobre él. El procedimiento es el siguiente: | + | The file share system performs poorly when working with many small files. To improve performance in such scenarios, create a file system in an image file and mount it to work directly on it. The procedure is as follows: |
- | * Crear el fichero de imagen en tu home: | + | * Create the image file at your home folder: |
<code bash> | <code bash> | ||
## truncate image.name -s SIZE_IN_BYTES | ## truncate image.name -s SIZE_IN_BYTES | ||
- | truncate | + | truncate |
</ | </ | ||
- | * | + | * |
<code bash> | <code bash> | ||
## mkfs.ext4 -T small -m 0 image.name | ## mkfs.ext4 -T small -m 0 image.name | ||
- | ## -T small opciones optimizadas para archivos pequeños | + | ## -T small optimized options for small files |
- | ## -m 0 No reservar espacio para root | + | ## -m 0 Do not reserve capacity for root user |
- | mkfs.ext4 -T small -m 0 ejemplo.ext4 | + | mkfs.ext4 -T small -m 0 example.ext4 |
</ | </ | ||
- | * Montar la imagen | + | * Mount the image (using SUDO) with the script |
<code bash> | <code bash> | ||
- | ## Por defecto queda montada en / | + | ## By default it is mounted at / |
- | sudo mount_image.py | + | sudo mount_image.py |
</ | </ | ||
- | * Para desmontar la imagen usar el script // | + | * To unmount the image use the script // |
- | El script | + | The mount script |
< | < | ||
- | --mount-point path < | + | --mount-point path < |
- | --rw <-- (opcional)Por defecto se monta readonly, | + | --rw <-- (optional) By default it is mounted |
</ | </ | ||
- | El script | + | <note warning> Do not mount the image file readwrite from more than one node!!!</ |
- | < | + | |
- | --mount-point | + | The unmounting |
+ | < | ||
+ | --mount-point | ||
</ | </ | ||
- | ===== | + | ===== |
=== SCP === | === SCP === | ||
- | Desde tu máquina | + | From your local machine to the cluster: |
<code bash> | <code bash> | ||
- | scp filename < | + | scp filename < |
</ | </ | ||
- | Desde el cluster | + | From the cluster |
<code bash> | <code bash> | ||
- | scp filename < | + | scp filename < |
</ | </ | ||
- | [[https:// | + | [[https:// |
=== SFTP === | === SFTP === | ||
- | Para transferir múltiples archivos o para navegar por el sistema de archivos. | + | To transfer several files or to navigate through the filesystem. |
<code bash> | <code bash> | ||
< | < | ||
Line 92: | Line 94: | ||
sftp> quit | sftp> quit | ||
</ | </ | ||
- | [[https:// | + | [[https:// |
=== RSYNC === | === RSYNC === | ||
- | [[ https:// | + | [[ https:// |
=== SSHFS === | === SSHFS === | ||
- | Requiere la instalación del paquete | + | Requires local installation of the sshfs package.\\ |
- | Permite por ejemplo montar el home del equipo del usuario en hpc-login2: | + | Allows for example to mount the user's local home in hpc-login2: |
<code bash> | <code bash> | ||
- | ## Montar | + | ## Mount |
- | sshfs < | + | sshfs < |
- | ## Desmontar | + | ## Unmount |
- | fusermount -u <punto_de_montaje> | + | fusermount -u <mount_point> |
</ | </ | ||
- | [[https:// | + | [[https:// |
- | ===== Software | + | ===== Available |
- | Todos los nodos tienen el software | + | All nodes have the basic software |
* GCC 8.5.0 | * GCC 8.5.0 | ||
* Python 3.6.8 | * Python 3.6.8 | ||
* Perl 5.26.3 | * Perl 5.26.3 | ||
+ | GPU nodes, in addition: | ||
+ | * nVidia Driver 510.47.03 | ||
+ | * CUDA 11.6 | ||
+ | * libcudnn 8.7 | ||
+ | To use any other software not installed on the system or another version of the system, there are three options: | ||
+ | - Use Modules with the modules that are already installed (or request the installation of a new module if it is not available). | ||
+ | - Use a container (uDocker or Apptainer/ | ||
+ | - Use Conda | ||
+ | A module is the simplest solution for using software without modifications or difficult to satisfy dependencies.\\ | ||
+ | A container is ideal when dependencies are complicated and/or the software is highly customised. It is also the best solution if you are looking for reproducibility, | ||
+ | Conda is the best solution if you need the latest version of a library or program or packages not otherwise available.\\ | ||
- | Para usar cualquier otro software no instalado en el sistema u otra versión del mismo hay tres opciones: | + | ==== Modules/Lmod use==== |
- | - Usar Modules con los módulos que ya están instalados (o solicitar la instalación de un nuevo módulo si no está disponible) | + | [[ https:// |
- | - Usar un contenedor (uDocker o Apptainer/ | + | |
- | - Usar Conda | + | |
- | Un módulo es la solución más sencilla para usar software sin modificaciones o dependencias difíciles de satisfacer.\\ | + | |
- | Un contenedor es ideal cuando las dependencias son complicadas y/o el software está muy personalizado. También es la mejor solución si lo que se busca es reproducibilidad, | + | |
- | Conda es la mejor solución si lo que se necesita es la última versión de una librería o programa o paquetes no disponibles de otra forma.\\ | + | |
- | + | ||
- | + | ||
- | ==== Uso de modules/Lmod ==== | + | |
- | [[ https:// | + | |
<code bash> | <code bash> | ||
- | # Ver los módulos disponibles: | + | # See available modules: |
module avail | module avail | ||
- | # Cargar un módulo: | + | # Module load: |
- | module <nombre_modulo> | + | module <module_name> |
- | # Descargar un módulo: | + | # Unload a module: |
- | module unload <nombre_modulo> | + | module unload <module_name> |
- | # Ver módulos cargados en tu entorno: | + | # List modules loaded in your environment: |
module list | module list | ||
- | # Puede usarse | + | # ml can be used as a shorthand of the module |
ml avail | ml avail | ||
- | # Para obtener información sobre un módulo: | + | # To get info of a module: |
- | ml spider <nombre_modulo> | + | ml spider <module_name> |
</ | </ | ||
- | + | ==== Software containers execution | |
- | + | ||
- | ==== Ejecución de contenedores de software | + | |
=== uDocker ==== | === uDocker ==== | ||
- | [[ https:// | + | [[ https:// |
- | uDocker está instalado como un módulo, así que es necesario cargarlo en el entorno: | + | udocker is installed as a module, so it needs to be loaded into the environment: |
<code bash> | <code bash> | ||
ml uDocker | ml uDocker | ||
Line 149: | Line 151: | ||
=== Apptainer/ | === Apptainer/ | ||
- | [[ https:// | + | [[ https:// |
- | Apptainer/ | + | Apptainer/ |
==== CONDA ==== | ==== CONDA ==== | ||
- | [[ https:// | + | [[ https:// |
- | Miniconda | + | Miniconda |
<code bash> | <code bash> | ||
- | # Obtener | + | # Getting |
wget https:// | wget https:// | ||
- | # Instalarlo | + | # Install |
sh Miniconda3-py39_4.11.0-Linux-x86_64.sh | sh Miniconda3-py39_4.11.0-Linux-x86_64.sh | ||
+ | # Initialize for bash shell | ||
+ | ~/ | ||
</ | </ | ||
- | ===== Uso de SLURM ===== | + | ===== Using SLURM ===== |
- | El gestor de colas en el cluster | + | The cluster |
- | <note tip>El término | + | <note tip>The term CPU identifies |
- | == Recursos disponibles | + | == Available resources |
<code bash> | <code bash> | ||
+ | hpc-login2 ~]# ver_estado.sh | ||
+ | ============================================================================================================= | ||
+ | NODO | ||
+ | ============================================================================================================= | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | ============================================================================================================= | ||
+ | TOTALES: [Cores : 3/688] [Mem(MB): 270000/ | ||
hpc-login2 ~]$ sinfo -e -o " | hpc-login2 ~]$ sinfo -e -o " | ||
- | # Hay un alias para este comando: | + | # There is an alias for that command: |
hpc-login2 ~]$ ver_recursos | hpc-login2 ~]$ ver_recursos | ||
NODELIST | NODELIST | ||
Line 179: | Line 203: | ||
hpc-node[3-9] | hpc-node[3-9] | ||
- | # Para ver el uso actual de los recursos: (CPUS (Allocated/ | + | # To see current resource use: (CPUS (Allocated/ |
hpc-login2 ~]$ sinfo -N -r -O NodeList, | hpc-login2 ~]$ sinfo -N -r -O NodeList, | ||
- | # Hay un alias para este comando: | + | # There is an alias for that command: |
hpc-login2 ~]$ ver_uso | hpc-login2 ~]$ ver_uso | ||
NODELIST | NODELIST | ||
Line 197: | Line 221: | ||
hpc-node9 | hpc-node9 | ||
</ | </ | ||
- | ==== Nodos ==== | + | ==== Nodes ==== |
- | Un nodo es la unidad de computación de SLURM, y se corresponde con un servidor físico. | + | A node is SLURM's computation unit and corresponds to a physical server. |
<code bash> | <code bash> | ||
- | # Mostrar la información de un nodo: | + | # Show node info: |
hpc-login2 ~]$ scontrol show node hpc-node1 | hpc-login2 ~]$ scontrol show node hpc-node1 | ||
NodeName=hpc-node1 Arch=x86_64 CoresPerSocket=18 | NodeName=hpc-node1 Arch=x86_64 CoresPerSocket=18 | ||
Line 220: | Line 244: | ||
| | ||
</ | </ | ||
- | ==== Particiones | + | ==== Partitions |
- | Las particiones en SLURM son grupos lógicos de nodos. En el cluster | + | Partitions in SLURM are logical groups of nodes. In the cluster |
<code bash> | <code bash> | ||
- | # Mostrar la información de las particiones: | + | # Show partition info: |
hpc-login2 ~]$ sinfo | hpc-login2 ~]$ sinfo | ||
- | defaultPartition* | + | defaultPartition* |
- | # Cuando se incorporen al cluster ctgpgpu7 y 8 apareceran como los nodos hpc-gpu1 y 2 respectivamente. | + | |
</ | </ | ||
- | ==== Trabajos | + | ==== Jobs ==== |
- | Los trabajos en SLURM son asignaciones de recursos | + | Jobs in SLURM are resource allocations to a user for a given time. Jobs are identified by a sequential number or JOBID. \\ |
- | Un trabajo (JOB) consiste en uno o más pasos (STEPS), cada uno consistente en una o más tareas (TASKS) que usan una o más CPU. Hay un STEP por cada programa que se ejecute de forma secuencial en un JOB y hay un TASK por cada programa que se ejecute en paralelo. Por lo tanto en el caso más simple como por ejemplo lanzar un trabajo consistente en ejecutar el comando | + | A JOB consists of one or more STEPS, |
- | ==== Sistema de colas (QOS) ==== | + | ==== Queue system |
- | La cola a la que se envíe cada trabajo define la prioridad,los límites y también el "coste" | + | The queue to which each job is submitted defines the priority, the limits and also the relative |
<code bash> | <code bash> | ||
- | # Mostrar las colas | + | # Show queues |
hpc-login2 ~]$ sacctmgr show qos | hpc-login2 ~]$ sacctmgr show qos | ||
- | # Hay un alias que muestra solo la información más relevante: | + | # There is an alias that shows only the relevant info: |
hpc-login2 ~]$ ver_colas | hpc-login2 ~]$ ver_colas | ||
- | Name | + | Name Priority |
- | ---------- | + | ---------- |
- | | + | |
- | interactive | + | interactive |
- | urgent | + | urgent |
- | long 100 DenyOnLimit | + | long |
- | | + | |
- | | + | |
+ | | ||
</ | </ | ||
- | # Priority: | + | # Priority: |
- | # DenyonLimit: | + | # DenyonLimit: |
- | # UsageFactor: | + | # UsageFactor: |
- | # MaxTRES: | + | # MaxTRES: |
- | # MaxWall: | + | # MaxWall: |
- | # MaxTRESPU: | + | # MaxTRESPU: |
- | # MaxJobsPU: | + | # MaxJobsPU: |
- | # MaxSubmitPU: | + | # MaxSubmitPU: |
- | ==== Envío de un trabajo al sistema de colas ==== | + | ==== Sending a job to the queue system |
- | == Especificación de recursos | + | == Requesting resources |
- | Por defecto, si se envía un trabajo sin especificar nada el sistema lo envia a la QOS por defecto | + | By default, if you submit |
- | Esto es muy ineficiente, lo ideal es especificar en la medida de lo posible al menos tres parámetros a la hora de enviar los trabajos: | + | This is very inefficient, the ideal is to specify as much as possible at least three parameters when submitting jobs: |
- | - %%El número de nodos (-N o --nodes), | + | - %%Node number |
- | - %%La memoria | + | - %%Memory |
- | - %%El tiempo estimado de ejecución del trabajo | + | - %%Job execution time ( --time )%% |
- | A mayores puede ser interesante añadir los siguientes parámetros: | + | In addition, it may be interesting to add the following parameters: |
- | | -J | + | | -J |
- | | -q | + | | -q |
- | | -o | + | | -o |
- | | | + | | |
| -C | | -C | ||
- | | | %%--exclusive%% | + | | | %%--exclusive%% |
- | | -w | %%--nodelist%% | + | | -w | %%--nodelist%% |
- | == Cómo se asignan los recursos | + | == How resources are allocated |
- | Por defecto el método de asignación entre nodos es la asignación en bloque | + | The default allocation method between nodes is block allocation |
- | == Calculo de la prioridad | + | == Priority calculation |
- | Cuando se envía un trabajo al sistema de colas, lo primero que ocurre es que se comprueba si los recursos solicitados entran dentro de los límites fijados en la cola correspondiente. Si supera alguno se cancela el envío. \\ | + | When a job is submitted to the queuing system, the first thing that happens is that the requested resources are checked to see if they fall within the limits set in the corresponding queue. If it exceeds any of them, the submission is cancelled. \\ |
- | Si hay recursos disponibles el trabajo se ejecuta directamente, pero si no es así se encola. Cada trabajo tiene asignada una prioridad que determina el orden en que se ejecutan los trabajos de la cola cuando quedan recursos disponibles. Para determinar la prioridad de cada trabajo se ponderan | + | If resources are available, the job is executed directly, but if not, it is queued. Each job is assigned a priority that determines the order in which the jobs in the queue are executed when resources are available. To determine the priority of each job, 3 factors are weighted: the time it has been waiting in the queue (25%), |
- | El fairshare | + | The fairshare |
<code bash> | <code bash> | ||
hpc-login2 ~]$ sshare -l | hpc-login2 ~]$ sshare -l | ||
Line 289: | Line 313: | ||
user_name | user_name | ||
</ | </ | ||
- | # RawShares: | + | # RawShares: |
- | # NormShares: | + | # NormShares: |
- | # RawUsage: | + | # RawUsage: |
- | # NormUsage: | + | # NormUsage: |
- | # FairShare: | + | # FairShare: |
- | == Envío de trabajos | + | == Job submission |
+ | - sbatch | ||
- salloc | - salloc | ||
- srun | - srun | ||
- | - sbatch | ||
- | 1. SALLOC | + | 1. SBATCH |
- | Sirve para obtener de forma inmediata una asignación de recursos (nodos). En cuanto se obtiene se ejecuta el comando especificado o una shell en su defecto. | + | Used to send a script to the queuing system. It is batch-processing and non-blocking. |
- | <code bash> | + | |
- | # Obtener 5 nodos y lanzar un trabajo. | + | |
- | hpc-login2 ~]$ salloc -N5 myprogram | + | |
- | # Obtener acceso interactivo | + | |
- | hpc-login2 ~]$ salloc -N1 | + | |
- | </ | + | |
- | 2. SRUN \\ | + | |
- | Sirve para lanzar un trabajo paralelo ( es preferible a usar mpirun ). Es interactivo y bloqueante. | + | |
- | <code bash> | + | |
- | # Lanzar un hostname en 2 nodos | + | |
- | hpc-login2 ~]$ srun -N2 hostname | + | |
- | hpc-node1 | + | |
- | hpc-node2 | + | |
- | </ | + | |
- | 3. SBATCH \\ | + | |
- | Sirve para enviar un script al sistema de colas. Es de procesamiento por lotes y no bloqueante. | + | |
<code bash> | <code bash> | ||
# Crear el script: | # Crear el script: | ||
- | hpc-login2 ~]$ vim trabajo_ejemplo.sh | + | hpc-login2 ~]$ vim test_job.sh |
#!/bin/bash | #!/bin/bash | ||
- | #SBATCH --job-name=prueba | + | #SBATCH --job-name=test |
#SBATCH --nodes=1 | #SBATCH --nodes=1 | ||
#SBATCH --ntasks=1 | #SBATCH --ntasks=1 | ||
Line 328: | Line 336: | ||
#SBATCH --mem=1gb | #SBATCH --mem=1gb | ||
#SBATCH --time=00: | #SBATCH --time=00: | ||
- | #SBATCH --qos=urgent | + | #SBATCH --qos=urgent |
- | #SBATCH --output=prueba_%j.log | + | #SBATCH --output=test%j.log |
echo "Hello World!" | echo "Hello World!" | ||
- | hpc-login2 ~]$ sbatch | + | hpc-login2 ~]$ sbatch |
</ | </ | ||
+ | 2. SALLOC \\ | ||
+ | It is used to immediately obtain an allocation of resources (nodes). As soon as it is obtained, the specified command or a shell is executed. | ||
+ | <code bash> | ||
+ | # Get 5 nodes and launch a job. | ||
+ | hpc-login2 ~]$ salloc -N5 myprogram | ||
+ | # Get interactive access to a node (Press Ctrl+D to exit): | ||
+ | hpc-login2 ~]$ salloc -N1 | ||
+ | # Get interactive EXCLUSIVE access to a node | ||
+ | hpc-login2 ~]$ salloc -N1 --exclusive | ||
+ | </ | ||
+ | 3. SRUN \\ | ||
+ | It is used to launch a parallel job (preferable to using mpirun). It is interactive and blocking. | ||
+ | <code bash> | ||
+ | # Launch the hostname command on 2 nodes | ||
+ | hpc-login2 ~]$ srun -N2 hostname | ||
+ | hpc-node1 | ||
+ | hpc-node2 | ||
+ | </ | ||
+ | |||
- | ==== Uso de los nodos con GPU ==== | + | ==== GPU use ==== |
- | Para solicitar específicamente una asignación de GPUs para un trabajo hay que añadir | + | To specifically request |
- | | %%--gres%% | + | | %%--gres%% |
- | | %%--gpus o -G%% | | + | | %%--gpus o -G%% | |
- | También existen las opciones | + | There are also the options |
Ejemplos: | Ejemplos: | ||
<code bash> | <code bash> | ||
- | ## Ver la lista de nodos y gpus: | + | ## See the list of nodes and gpus: |
hpc-login2 ~]$ ver_recursos | hpc-login2 ~]$ ver_recursos | ||
- | ## Solicitar | + | ## Request any 2 GPUs for a JOB, add: |
--gpus=2 | --gpus=2 | ||
- | ## Solicitar una A100 de 40G en un nodo y una A100 de 80G en otro, añadir: | + | ## Request a 40G A100 at one node and an 80G A100 at another node, add: |
--gres=gpu: | --gres=gpu: | ||
</ | </ | ||
- | ==== Monitorización de los trabajos | + | ==== Job monitoring |
<code bash> | <code bash> | ||
- | ## Listado de todos los trabajos en la cola | + | ## List all jobs in the queue |
hpc-login2 ~]$ squeue | hpc-login2 ~]$ squeue | ||
- | ## Listado de los trabajos de un usuario | + | ## Listing a user's jobs |
hpc-login2 ~]$ squeue -u < | hpc-login2 ~]$ squeue -u < | ||
- | ## Cancelar un trabajo: | + | ## Cancel a job: |
hpc-login2 ~]$ scancel < | hpc-login2 ~]$ scancel < | ||
- | ## Lista de trabajos recientes | + | ## List of recent jobs: |
hpc-login2 ~]$ sacct -b | hpc-login2 ~]$ sacct -b | ||
- | ## Información histórica detallada de un trabajo: | + | ## Detailed historical information for a job: |
hpc-login2 ~]$ sacct -l -j < | hpc-login2 ~]$ sacct -l -j < | ||
- | ## Información de debug de un trabajo para troubleshooting: | + | ## Debug information of a job for troubleshooting: |
hpc-login2 ~]$ scontrol show jobid -dd < | hpc-login2 ~]$ scontrol show jobid -dd < | ||
- | ## Ver el uso de recursos de un trabajo en ejecución: | + | ## View the resource usage of a running job: |
hpc-login2 ~]$ sstat < | hpc-login2 ~]$ sstat < | ||
</ | </ | ||
- | ==== Controlar la salida de los trabajos | + | ==== Configure job output |
- | == Códigos de salida | + | == Exit codes == |
- | Por defecto estos son los códigos de salida de los comandos: | + | By default these are the output codes of the commands: |
^ SLURM command | ^ SLURM command | ||
- | | salloc | + | | salloc |
- | | srun | | + | | srun | |
- | | sbatch | + | | sbatch |
== STDIN, STDOUT y STDERR == | == STDIN, STDOUT y STDERR == | ||
**SRUN:**\\ | **SRUN:**\\ | ||
- | Por defecto | + | By default |
- | | %%-i, --input=< | + | | %%-i, --input=< |
- | | %%-o, --output=< | + | | %%-o, --output=< |
- | | %%-e, --error=< | + | | %%-e, --error=< |
- | Y las opciones son: | + | And options are: |
- | * // | + | * // |
- | * // | + | * // |
- | * // | + | * // |
- | * // | + | * // |
- | * //filename pattern//: | + | * //filename pattern//: |
**SBATCH: | **SBATCH: | ||
- | Por defecto | + | By default |
| %%-i, --input=< | | %%-i, --input=< | ||
| %%-o, --output=< | | %%-o, --output=< | ||
| %%-e, --error=< | | %%-e, --error=< | ||
- | La referencia de filename_pattern | + | The reference of filename_pattern |
- | ==== Envío de correos | + | ==== Sending mail ==== |
- | Se pueden configurar los JOBS para que envíen correos en determinadas circunstancias usando estos dos parámetros | + | JOBS can be configured to send mail in certain circumstances using these two parameters |
- | | %%--mail-type=< | + | | %%--mail-type=< |
- | | %%--mail-user=< | + | | %%--mail-user=< |
- | ==== Estados de los trabajos en el sistema de colas ==== | + | ==== Status of Jobs in the queuing system |
<code bash> | <code bash> | ||
hpc-login2 ~]# squeue -l | hpc-login2 ~]# squeue -l | ||
JOBID PARTITION | JOBID PARTITION | ||
6547 defaultPa | 6547 defaultPa | ||
+ | |||
+ | ## Check status of queue use: | ||
+ | hpc-login2 ~]$ estado_colas.sh | ||
+ | JOBS PER USER: | ||
+ | -------------- | ||
+ | | ||
+ | | ||
+ | |||
+ | JOBS PER QOS: | ||
+ | -------------- | ||
+ | | ||
+ | long: 1 | ||
+ | |||
+ | JOBS PER STATE: | ||
+ | -------------- | ||
+ | | ||
+ | | ||
+ | ========================================== | ||
+ | Total JOBS in cluster: | ||
</ | </ | ||
- | Estados (STATE) más comunes de un trabajo: | + | Common job states: |
* R RUNNING Job currently has an allocation. | * R RUNNING Job currently has an allocation. | ||
* CD COMPLETED Job has terminated all processes on all nodes with an exit code of zero. | * CD COMPLETED Job has terminated all processes on all nodes with an exit code of zero. | ||
Line 416: | Line 462: | ||
* PD PENDING Job is awaiting resource allocation. | * PD PENDING Job is awaiting resource allocation. | ||
- | [[ https:// | + | [[ https:// |
- | Si un trabajo no está en ejecución aparecerá una razón debajo de REASON:[[ https:// | + | If a job is not running, a reason will be displayed underneath |