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

wiki/computo/infraestructura_computo.1660310483.txt.gz · Última modificación: 2022/08/12 13:21 por srgualpa