Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anteriorRevisión previa
Próxima revisión
Revisión previa
es:centro:servizos:hpc [2023/03/03 14:01] – [Estados de los trabajos en el sistema de colas] fernando.guillenes:centro:servizos:hpc [2025/12/05 10:05] (actual) fernando.guillen
Línea 6: Línea 6:
   *  9 servidores para cómputo general.   *  9 servidores para cómputo general.
   *  1 "fat node" para trabajos que requieran mucha memoria.   *  1 "fat node" para trabajos que requieran mucha memoria.
-  *  servidores para computo con GPU.+  *  servidores para computo con GPU.
    
 Los usuarios solo tienen acceso directo al nodo de login, de prestaciones más limitadas y que no debe usarse para computar. \\ Los usuarios solo tienen acceso directo al nodo de login, de prestaciones más limitadas y que no debe usarse para computar. \\
Línea 17: Línea 17:
 |  hpc-node[3-9]              Dell R740    2 x Intel Xeon Gold 5220R @2,2 GHz (24c)        192 GB    -                           | |  hpc-node[3-9]              Dell R740    2 x Intel Xeon Gold 5220R @2,2 GHz (24c)        192 GB    -                           |
 |  hpc-fat1                  |  Dell R840    4 x Xeon Gold 6248 @ 2.50GHz (20c)              1 TB      -                           | |  hpc-fat1                  |  Dell R840    4 x Xeon Gold 6248 @ 2.50GHz (20c)              1 TB      -                           |
-|  hpc-gpu[1-2]  |  Dell R740    2 x Intel Xeon Gold 5220 CPU @ 2.20GHz (18c)    192 GB    2x Nvidia Tesla V100S       |+|  hpc-gpu[1-2]  |  Dell R740    2 x Intel Xeon Gold 5220 CPU @ 2.20GHz (18c)    192 GB    2x Nvidia Tesla V100S 32GB       |
 |  hpc-gpu3                  |  Dell R7525  |  2 x AMD EPYC 7543 @2,80 GHz (32c)              |  256 GB    2x Nvidia Ampere A100 40GB  | |  hpc-gpu3                  |  Dell R7525  |  2 x AMD EPYC 7543 @2,80 GHz (32c)              |  256 GB    2x Nvidia Ampere A100 40GB  |
 |  hpc-gpu4                  |  Dell R7525  |  2 x AMD EPYC 7543 @2,80 GHz (32c)              |  256 GB    1x Nvidia Ampere A100 80GB  | |  hpc-gpu4                  |  Dell R7525  |  2 x AMD EPYC 7543 @2,80 GHz (32c)              |  256 GB    1x Nvidia Ampere A100 80GB  |
 +|  hpc-gpu5                  |  Dell R7725  |  2 x AMD EPYC 9255 @3.25 GHz (24c)              |  364 GB    2x Nvidia L4 24GB  |
 +|  hpc-gpu6                  |  Dell R7725  |  2 x AMD EPYC 9255 @3.25 GHz (24c)              |  384 GB    2x Nvidia L4 24GB  |
 +
  
 ===== Conexión al sistema ===== ===== Conexión al sistema =====
 Para acceder al clúster, hay que solicitarlo previamente a través de [[https://citius.usc.es/uxitic/incidencias/add|formulario de incidencias]]. Los usuarios que no tengan permiso de acceso recibirán un mensaje de "contraseña incorrecta". Para acceder al clúster, hay que solicitarlo previamente a través de [[https://citius.usc.es/uxitic/incidencias/add|formulario de incidencias]]. Los usuarios que no tengan permiso de acceso recibirán un mensaje de "contraseña incorrecta".
  
-El acceso se realiza mediante una conexión SSH al nodo de login:+El acceso se realiza mediante una conexión SSH al nodo de login (172.16.242.211):
 <code bash> <code bash>
 ssh <nombre_de_usuario>@hpc-login2.inv.usc.es ssh <nombre_de_usuario>@hpc-login2.inv.usc.es
Línea 59: Línea 62:
 </code> </code>
   * Para desmontar la imagen usar el script //umount_image.py// (usando SUDO)   * Para desmontar la imagen usar el script //umount_image.py// (usando SUDO)
 +<code bash> 
 +sudo umount_image.py 
 +</code> 
 +<note warning> 
 +El fichero solo puede montarse desde un único nodo si se hace en modo readwrite, pero puede montarse desde cualquier número de nodos en modo readonly. 
 +</note>
 El script de montaje tiene estas opciones: El script de montaje tiene estas opciones:
 <code> <code>
Línea 111: Línea 119:
   * Perl 5.26.3   * Perl 5.26.3
 En los nodos con GPU, además: En los nodos con GPU, además:
-  * nVidia Driver 510.47.03+  * nVidia Driver 560.35.03
   * CUDA 11.6   * CUDA 11.6
   * libcudnn 8.7   * libcudnn 8.7
- 
 Para usar cualquier otro software no instalado en el sistema u otra versión del mismo hay tres opciones: Para usar cualquier otro software no instalado en el sistema u otra versión del mismo hay tres opciones:
   - 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)   - 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)
Línea 146: Línea 153:
 === uDocker ==== === uDocker ====
 [[ https://indigo-dc.gitbook.io/udocker/user_manual | Manual de uDocker]] \\ [[ https://indigo-dc.gitbook.io/udocker/user_manual | Manual de uDocker]] \\
-udocker está instalado como un módulo, así que es necesario cargarlo en el entorno:+uDocker está instalado como un módulo, así que es necesario cargarlo en el entorno:
 <code bash> <code bash>
-ml uDocker+ml udocker
 </code> </code>
  
 === Apptainer/Singularity === === Apptainer/Singularity ===
-[[ https://sylabs.io/guides/3.8/user-guide/ | Documentacion de Apptainer/Singularity ]] \\ +[[ https://apptainer.org/docs/user/1.4/ | Documentacion de Apptainer ]] \\ 
-Apptainer/Singularity está instalado en el sistema de cada nodo, por lo que no es necesario hacer nada para usarlo.+Apptainer está instalado en el sistema de cada nodo, por lo que no es necesario hacer nada para usarlo.
  
  
Línea 161: Línea 168:
 <code bash> <code bash>
 # Obtener miniconda # Obtener miniconda
-wget https://repo.anaconda.com/miniconda/Miniconda3-py39_4.11.0-Linux-x86_64.sh+wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
 # Instalarlo  # Instalarlo 
-sh Miniconda3-py39_4.11.0-Linux-x86_64.sh+bash Miniconda3-latest-Linux-x86_64.sh 
 +# Inicializar miniconda para el shell bash 
 +~/miniconda3/bin/conda init bash
 </code> </code>
- 
 ===== Uso de SLURM ===== ===== Uso de SLURM =====
 El gestor de colas en el cluster es [[ https://slurm.schedmd.com/documentation.html | SLURM ]]. \\ El gestor de colas en el cluster es [[ https://slurm.schedmd.com/documentation.html | SLURM ]]. \\
Línea 180: Línea 188:
  hpc-gpu3    up   0%[--------------------------------------------------]( 0/64) RAM:  0%   A100_40 (0/2)  hpc-gpu3    up   0%[--------------------------------------------------]( 0/64) RAM:  0%   A100_40 (0/2)
  hpc-gpu4    up   1%[|-------------------------------------------------]( 1/64) RAM: 35%   A100_80 (1/1)  hpc-gpu4    up   1%[|-------------------------------------------------]( 1/64) RAM: 35%   A100_80 (1/1)
 + hpc-gpu5    up   0%[--------------------------------------------------]( 0/48) RAM:  0%   L4 (0/2)
 + hpc-gpu6    up   0%[--------------------------------------------------]( 0/48) RAM:  0%   L4 (0/2)
  hpc-node1   up   0%[--------------------------------------------------]( 0/36) RAM:  0%     ---  hpc-node1   up   0%[--------------------------------------------------]( 0/36) RAM:  0%     ---
  hpc-node2   up   0%[--------------------------------------------------]( 0/36) RAM:  0%     ---  hpc-node2   up   0%[--------------------------------------------------]( 0/36) RAM:  0%     ---
Línea 200: Línea 210:
 hpc-gpu3                        64                    253282                cpu_amd               gpu:A100_40:                  hpc-gpu3                        64                    253282                cpu_amd               gpu:A100_40:                 
 hpc-gpu4                        64                    253282                cpu_amd               gpu:A100_80:1(S:0)              hpc-gpu4                        64                    253282                cpu_amd               gpu:A100_80:1(S:0)             
 +hpc-gpu[5-6]                    48                    375484                cpu_amd               gpu:L4:2(S:1)
 hpc-node[1-2]                   36                    187645                cpu_intel             (null)                          hpc-node[1-2]                   36                    187645                cpu_intel             (null)                         
 hpc-node[3-9]                   48                    187645                cpu_intel             (null) hpc-node[3-9]                   48                    187645                cpu_intel             (null)
Línea 209: Línea 220:
 NODELIST            CPUS(A/I/O/T)       MEMORY              FREE_MEM            GRES                GRES_USED NODELIST            CPUS(A/I/O/T)       MEMORY              FREE_MEM            GRES                GRES_USED
 hpc-fat1            80/0/0/80           1027273             900850              (null)              gpu:0,mps:0 hpc-fat1            80/0/0/80           1027273             900850              (null)              gpu:0,mps:0
 +hpc-gpu1            16/20/0/36          187911              181851              gpu:V100S:2(S:0-1)  gpu:V100S:2(IDX:0-1)
 +hpc-gpu2            4/32/0/36           187911              183657              gpu:V100S:2(S:0-1)  gpu:V100S:1(IDX:0),m
 hpc-gpu3            2/62/0/64           253282              226026              gpu:A100_40:      gpu:A100_40:2(IDX:0- hpc-gpu3            2/62/0/64           253282              226026              gpu:A100_40:      gpu:A100_40:2(IDX:0-
 hpc-gpu4            1/63/0/64           253282              244994              gpu:A100_80:1(S:0)  gpu:A100_80:1(IDX:0) hpc-gpu4            1/63/0/64           253282              244994              gpu:A100_80:1(S:0)  gpu:A100_80:1(IDX:0)
 +hpc-gpu5            8/40/0/48           375484              380850              gpu:L4:2(S:1)       gpu:L4:1(IDX:1),mps:
 +hpc-gpu6            0/48/0/48           375484              380969              gpu:L4:2(S:1)       gpu:L4:0(IDX:N/A),mp
 hpc-node1           36/0/0/36           187645              121401              (null)              gpu:0,mps:0 hpc-node1           36/0/0/36           187645              121401              (null)              gpu:0,mps:0
 hpc-node2           36/0/0/36           187645              130012              (null)              gpu:0,mps:0 hpc-node2           36/0/0/36           187645              130012              (null)              gpu:0,mps:0
Línea 249: Línea 264:
 # Mostrar la información de las particiones: # Mostrar la información de las particiones:
 hpc-login2 ~]$ sinfo hpc-login2 ~]$ sinfo
-defaultPartition*    up   infinite     11   idle hpc-fat1,hpc-gpu[3-4],hpc-node[1-9]+defaultPartition*    up   infinite     11   idle hpc-fat1,hpc-gpu[1-6],hpc-node[1-9]
 # Cuando se incorporen al cluster ctgpgpu7 y 8 apareceran como los nodos hpc-gpu1 y 2 respectivamente. # Cuando se incorporen al cluster ctgpgpu7 y 8 apareceran como los nodos hpc-gpu1 y 2 respectivamente.
 </code> </code>
Línea 263: Línea 278:
 # Hay un alias que muestra solo la información más relevante: # Hay un alias que muestra solo la información más relevante:
 hpc-login2 ~]$ ver_colas hpc-login2 ~]$ ver_colas
-      Name    Priority                                  MaxTRES     MaxWall            MaxTRESPU MaxJobsPU MaxSubmitPU  +      Name   Priority                        MaxTRES     MaxWall            MaxTRESPU MaxJobsPU MaxSubmitPU  
-----------  ---------- ---------------------------------------- ----------- -------------------- --------- -----------  +---------- ---------- ------------------------------ ----------- -------------------- --------- -----------  
-   regular         100                cpu=200,gres/gpu=1,node=4  4-04:00:00       cpu=200,node=4        10          50  +   regular        100      cpu=200,gres/gpu=1,node=4  4-04:00:00       cpu=200,node=4        10          50  
-interactive        200                                   node=1    04:00:00               node=1                   1  +interacti+        200                         node=1    04:00:00               node=1                   1  
-    urgent         300                        gres/gpu=1,node=1    04:00:00               cpu=36                  15  +    urgent        300              gres/gpu=1,node=1    04:00:00               cpu=36                  15  
-      long         100                        gres/gpu=1,node=4  8-04:00:00                              1           5  +      long        100              gres/gpu=1,node=4  8-04:00:00                              1           5  
-     large         100                       cpu=200,gres/gpu=2  4-04:00:00                              2          10  +     large        100             cpu=200,gres/gpu=2  4-04:00:00                              2          10  
-     admin         500                                                                                                  +     admin        500                                                                                        
-     small         150                             cpu=6,node=2    04:00:00              cpu=400        40         100 +     small        100        cpu=6,gres/gpu=0,node=2  6-00:00:00              cpu=400        400         800  
 +     short        150                   cpu=6,node=2    04:00:00                              40         100 
 </code> </code>
 # Priority: es la prioridad relativa de cada cola. \\ # Priority: es la prioridad relativa de cada cola. \\
Línea 284: Línea 300:
 ==== Envío de un trabajo al sistema de colas ==== ==== Envío de un trabajo al sistema de colas ====
 == Especificación de recursos == == Especificación de recursos ==
-Por defecto, si se envía un trabajo sin especificar nada el sistema lo envia a la QOS por defecto (regular) y le asigna un nodo, una CPU y toda la memoria disponible. El límite de tiempo para la ejecución del trabajo es el de la cola (4 días y 4 horas). +Por defecto, si se envía un trabajo sin especificar nada el sistema lo envia a la QOS por defecto (regular) y le asigna un nodo, una CPU y 4 GB de RAM. El límite de tiempo para la ejecución del trabajo es el de la cola (4 días y 4 horas). 
 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: 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:
   -  %%El número de nodos (-N o --nodes), tareas (-n o --ntasks) y/o CPU por tarea (-c o --cpus-per-task).%%   -  %%El número de nodos (-N o --nodes), tareas (-n o --ntasks) y/o CPU por tarea (-c o --cpus-per-task).%%
Línea 352: Línea 368:
 # Obtener acceso interactivo a un nodo (Pulsar Ctrl+D para terminar el acceso): # Obtener acceso interactivo a un nodo (Pulsar Ctrl+D para terminar el acceso):
 hpc-login2 ~]$ salloc -N1  hpc-login2 ~]$ salloc -N1 
 +# Obtener acceso interactivo a un nodo DE FORMA EXCLUSIVA
 +hpc-login2 ~]$ salloc -N1 --exclusive
 </code> </code>
 3. SRUN \\ 3. SRUN \\
Línea 395: Línea 413:
 ## Ver el uso de recursos de un trabajo en ejecución: ## Ver el uso de recursos de un trabajo en ejecución:
 hpc-login2 ~]$ sstat <JOBID> hpc-login2 ~]$ sstat <JOBID>
 +
 </code> </code>
 ==== Controlar la salida de los trabajos ==== ==== Controlar la salida de los trabajos ====
Línea 465: Línea 484:
  
 Si un trabajo no está en ejecución aparecerá una razón debajo de REASON:[[ https://slurm.schedmd.com/squeue.html#SECTION_JOB-REASON-CODES | Lista de las razones ]] por las que un trabajo puede estar esperando su ejecución. Si un trabajo no está en ejecución aparecerá una razón debajo de REASON:[[ https://slurm.schedmd.com/squeue.html#SECTION_JOB-REASON-CODES | Lista de las razones ]] por las que un trabajo puede estar esperando su ejecución.
 +
 +
 +
 +
 +