Herramientas de usuario

Herramientas del sitio


wiki:computo:infraestructura_computo

¡Esta es una revisión vieja del documento!


Cómputo

Procesador: Intel Xeon E5-2660v4 x 14 - 168 núcleos físicos - 336 núcleos virtuales
Memoria: 640 + 64 GB
Acceso: ssh username@clemente
Aceleradora: NVIDIA GeForce GTX 1080 Ti
Particiones SLURM: debug (2 minutos - 336 núcleos virtuales - Clemente01-06)
                                    batch (3 días - 280 núcleos virtuales - Clemente01-05)
                                    small (6 horas - 56 núcleos virtuales - Clemente06)
                                    gpu (3 días - 50 núcleos virtuales - Clemente06)
Conectividad: Infiniband DDR / Ethernet 1Gbps


Cabecera:


Sistema operativo:
                             Operating System: CentOS Linux 7 (Core)
                             Kernel: Linux 3.10.0-514.el7.x86_64
                             Architecture: x86-64


clemente[01-05]:
                             Procesador: 28 Cores [56 w/HT] Intel Xeon E5-2660v4
                             Socket(s): 2     Core(s) per socket: 14      Thread(s) per core: 2     
                             L1d cache: 32K   L1i cache: 32K    L2 cache: 256K   L3 cache: 35840K
                             Cpu MHz: 1200
                             Memoria: 128 GB DDR4
                             Acceso: ssh username@clemente[01-03]*
                             Particiones SLURM: debug - batch


clemente06:
                     Procesador: 28 Cores [56 w/HT] Intel Xeon E5-2680v4
                     Socket(s): 2      Core(s) per socket: 14      Thread(s) per core: 2    
                     L1 cache 896 KB    L2 cache: 3584 KB    L3 cache: 35840 KB   
                     Cpu MHz: 1200
                     Memoria: 64 GB DDR4
                     Acceso: ssh username@clemente04*
                     Aceleradora: NVIDIA GeForce GTX 1080 Ti
                     Particiones SLURM: batch - debug - gpu - small


(*) A los nodos solo se puede acceder cuando hay un trabajo del usuario en ejecución


  • Tarea: ejecutar programas utilizando gpu
  • Ejecución: sbatch submit_gpu_job.sh
  • Partición: gpu
  • Tiempo máximo: 3 días

submit_gpu_job.sh
  1. #!/bin/bash
  2.  
  3. ### Las líneas #SBATCH configuran los recursos de la tarea
  4. ### (aunque parezcan estar comentadas)
  5.  
  6. ### Nombre de la tarea
  7. #SBATCH --job-name=gpu_job
  8.  
  9. ### Cola de trabajos a la cual enviar.
  10. #SBATCH --partition=gpu
  11.  
  12. ### Procesos a largar.
  13. ### Por defecto, se usa un solo proceso para tareas GPU.
  14. #SBATCH --ntasks-per-node=1
  15.  
  16. ### Tiempo de ejecucion. Formato dias-horas:minutos.
  17. #SBATCH --time 3-0:00
  18.  
  19. ### Script que se ejecuta al arrancar el trabajo
  20.  
  21. ### Cargar el entorno del usuario incluyendo la funcionalidad de modules
  22. ### No tocar
  23. . /etc/profile
  24.  
  25. ### Cargar los módulos para la tarea
  26. # FALTA: Agregar los módulos necesarios
  27. module load gcc
  28. module load cuda
  29.  
  30. ### Largar el programa
  31. # FALTA: Cambiar el nombre del programa
  32. srun NOMBRE_DEL_PROGRAMA
  33.  

  • Tarea: ejecutar programas utilizando mpi
  • Ejecución: sbatch submit_mpi_job.sh
  • Partición: batch
  • Tiempo máximo: 3 días

submit_mpi_job.sh
  1. #!/bin/bash
  2.  
  3. ### Las líneas #SBATCH configuran los recursos de la tarea
  4. ### (aunque parezcan estar comentadas)
  5.  
  6. ### Nombre de la tarea
  7. #SBATCH --job-name=mpi_job
  8.  
  9. ### Tiempo de ejecucion. Formato dias-horas:minutos.
  10. #SBATCH --time 3-0:00
  11.  
  12. ### Numero de procesos a ser lanzados.
  13. #SBATCH --ntasks=112
  14. #SBATCH --nodes=2
  15.  
  16. ### Nombre de partcion
  17. #SBATCH --partition=batch
  18.  
  19. ### Script que se ejecuta al arrancar el trabajo
  20.  
  21. ### Cargar el entorno del usuario incluyendo la funcionalidad de modules
  22. ### No tocar
  23. . /etc/profile
  24.  
  25. ### Cargar los módulos para la tarea
  26. # FALTA: Agregar los módulos necesarios
  27. module load gcc
  28. module load openmpi
  29. ### Largar el programa con los cores detectados
  30. ### La cantidad de nodos y cores se detecta automáticamente
  31. # FALTA: Cambiar el nombre del programa
  32. srun NOMBRE_DEL_PROGRAMA
  33.  

  • Tarea: ejecutar programas utilizando OPENMP
  • Ejecución: sbatch submit_openmp_job.sh
  • Partición: batch
  • Tiempo máximo: 3 días

submit_openmp_job.sh
  1. #!/bin/bash
  2.  
  3. ### Las líneas #SBATCH configuran los recursos de la tarea
  4. ### (aunque parezcan estar comentadas)
  5.  
  6. ### Nombre de la tarea
  7. #SBATCH --job-name=openmp_job
  8.  
  9. ### Cola de trabajos a la cual enviar.
  10. #SBATCH --partition=batch
  11.  
  12. ### Procesos a largar.
  13. ### Es OpenMP, o sea que un proceso en un nodo y muchos hilos.
  14. #SBATCH --ntasks=1
  15.  
  16. ### Hilos por proceso
  17. ### Poner el mismo valor acá que en OMP_NUM_THREADS/MKL_NUM_THREADS
  18. #SBATCH --cpus-per-task=56
  19.  
  20. ### Tiempo de ejecucion. Formato dias-horas:minutos.
  21. #SBATCH --time 3-0:00
  22.  
  23. ### Script que se ejecuta al arrancar el trabajo
  24.  
  25. ### Cargar el entorno del usuario incluyendo la funcionalidad de modules
  26. ### No tocar
  27. . /etc/profile
  28.  
  29. ### Configurar OpenMP/MKL/etc con la cantidad de cores detectada.
  30. export OMP_NUM_THREADS=$SLURM_CPUS_PER_TASK
  31. export MKL_NUM_THREADS=$SLURM_CPUS_PER_TASK
  32.  
  33. ### Cargar los módulos para la tarea
  34. # FALTA: Agregar los módulos necesarios
  35. module load gcc
  36.  
  37. ### Largar el programa
  38. # FALTA: Cambiar el nombre del programa
  39. srun NOMBRE_DEL_PROGRAMA
  40.  

No está permitido ejecutar trabajos en la cabecera.
En caso de estar ejecutando un trabajo, se puede acceder a través de ssh a los nodos para ver la ejecución del mismo.
Pueden encontrarse ejemplos de script de lanzamiento en /usr/share/doc/clemente.

Clemente posee una partición llamada "gpu" exclusiva para ejecutar tareas de GPGPU.

Clemente posee una partición para trabajos en MPI llamada batch. Tiene un tiempo máximo de 3 días y un total de 280 núcleos con disponibilidad de conexión infiniband

En marcha desde 2021
El nodo de cálculo es accesible sin el manejador de colas.

Procesador:AMD EPYC 7282 16-Core Processor
Cores: 32 virtuales SMT
Memoria: 64 GB DDR4
Acceso: ssh username@alumnos01.oac.uncor.edu
                                   


El nodo de cálculo es accesible sin el manejador de colas.

Procesador:AMD EPYC 7282 16-Core Processor
Cores: 32 virtuales SMT
Memoria: 64 GB DDR4
Acceso: ssh username@alumnos02.oac.uncor.edu
                                   

                      Mulatona está conformada por 7 nodos con la siguiente descripción:
Procesador:  Cada nodo tiene 2 procesadores Intel Xeon E5-2683v4 de 16 núcleos
Memoria:  Cada procesador tiene 128 GiB de RAM
Acceso:  ssh username@mulatona.ccad.unc.edu.ar
Particiones SLURM:  multi (4 días - 7 nodos)
                                   
batch (7 días - 7 nodos)
Conectividad:  Infiniband QDR basada en placas Mellanox ConnectX-3 MT27500/MT27520


Cabecera:
                    Procesador: 8 Cores Intel Core Processor (Broadwell, IBRS) 1,8 GHz
                    Memoria: 8GB
                    Acceso: ssh username@mulatona.ccad.unc.edu.ar


bdw[01-07]:
                             Procesador: 16 Cores Intel Xeon E5-2683v4
                             Memoria:
                             Particiones SLURM: batch - multi


(*) A los nodos solo se puede acceder cuando hay un trabajo del usuario en ejecución


  • Tarea: ejemplo de ejecución de Flash
  • Ejecución: sbatch submit_flash_job.sh
  • Partición: batch
  • Tiempo máximo: 7 días

submit_flash_job.sh
  1. #!/bin/bash
  2.  
  3. ### Las líneas #SBATCH configuran los recursos de la tarea
  4. ### (aunque parezcan estar comentadas)
  5.  
  6. ### Nombre de la tarea
  7. #SBATCH --job-name=flash
  8.  
  9. ### Cola de trabajos a la cual enviar.
  10. #SBATCH --partition=batch
  11.  
  12. ### Procesos a largar.
  13. ### Es OpenMP.
  14. #SBATCH --ntasks=32
  15.  
  16. #SBATCH --nodes=1
  17.  
  18. ### Hilos por proceso
  19. ### Poner el mismo valor acá que en OMP_NUM_THREADS/MKL_NUM_THREADS
  20.  
  21. ### Tiempo de ejecucion. Formato dias-horas:minutos.
  22. #SBATCH --time 4-0:0
  23.  
  24. ### Cargar el entorno del usuario incluyendo la funcionalidad de modules
  25. ### No tocar
  26. . /etc/profile
  27.  
  28. ### Configurar OpenMP/MKL/etc con la cantidad de cores detectada.
  29. export OMP_NUM_THREADS=32
  30. export MKL_NUM_THREADS=32
  31.  
  32. ### Cargar los módulos para la tarea
  33. module load gcc
  34. module load flash
  35.  
  36. ### Corre el programa
  37.  
  38. time srun ./flash
  39.  
submit_openmp_job.sh
  1. #!/bin/bash
  2.  
  3. ### Las líneas #SBATCH configuran los recursos de la tarea
  4. ### (aunque parezcan estar comentadas)
  5.  
  6. ### Nombre de la tarea
  7. #SBATCH --job-name=openmp_job
  8.  
  9. ### Cola de trabajos a la cual enviar.
  10. #SBATCH --partition=batch
  11.  
  12. ### Procesos a largar.
  13. #SBATCH --ntasks=1
  14.  
  15. ### Hilos por proceso
  16. ### Poner el mismo valor acá que en OMP_NUM_THREADS/MKL_NUM_THREADS
  17. #SBATCH --cpus-per-task=32
  18.  
  19. ### Tiempo de ejecucion. Formato dias-horas:minutos.
  20. #SBATCH --time 7-0:0
  21.  
  22. ### Cargar el entorno del usuario incluyendo la funcionalidad de modules
  23. ### No tocar
  24. . /etc/profile
  25.  
  26. ### Configurar OpenMP/MKL/etc con la cantidad de cores detectada.
  27. export OMP_NUM_THREADS=32
  28. export MKL_NUM_THREADS=32
  29.  
  30. ### Cargar los módulos para la tarea
  31. module load gcc
  32.  
  33. ### Corre el programa
  34. srun NOMBRE_DEL_PROGRAMA
  35.  
submit_mpi_job.sh
  1. #!/bin/bash
  2.  
  3. ### Las líneas #SBATCH configuran los recursos de la tarea
  4. ### (aunque parezcan estar comentadas)
  5.  
  6. ### Nombre de la tarea
  7. #SBATCH --job-name=mpi_job
  8.  
  9. ### Cola de trabajos a la cual enviar.
  10. #SBATCH --partition=batch
  11.  
  12. ### Cantidad de procesos
  13. #SBATCH --ntasks=64
  14.  
  15. ### Cantidad de nodos
  16. #SBATCH --nodes=2
  17.  
  18. ### Tiempo de ejecucion. Formato dias-horas:minutos.
  19. #SBATCH --time 7-0:0
  20.  
  21. ### Cargar el entorno del usuario incluyendo la funcionalidad de modules
  22. ### No tocar
  23. . /etc/profile
  24.  
  25. ### Cargar los módulos para la tarea
  26. module load gcc
  27. module load openmpi
  28.  
  29. ### Corre el programa
  30. srun NOMBRE_DEL_PROGRAMA
  31.  

En marcha desde
El nodo de cálculo es accesible sin el manejador de colas.

Motherboard: Supermicro H12SSL-NT, 8 DIMMs, PCie 4.0 x16/x8
Procesador: AMD Milan 7713P
- 64 núcleos de CPU
- 128 hilos
- 256 MB Caché L3
Memoria: 256 GB DDR4 ECC RDIMM 3200MHZ (8 x 32GB)
Acceso: ssh username@milan

wiki/computo/infraestructura_computo.1659384705.txt.gz · Última modificación: 2022/08/01 20:11 por srgualpa