Servidores de computación GPGPU

Esta é unha revisión antiga do documento!


Servidores de computación GPGPU

Descrición do servizo

Servidores con gráficas de acceso libre

  • ctgpgpu4:
    • Servidor PowerEdge R730
    • 2 procesadores Intel Xeon E52623v4
    • 128 GB de memoria RAM (4 DDR4 DIMM a 2400MHz)
    • 2 x Nvidia GP102GL 24GB [Tesla P40] (2016)
    • Sistema operativo AlmaLinux 9.1
      • Cuda 12.0
      • * Slurm para la gestión de colas de trabajo de uso obligatorio.

Servidores con gráficas de acceso restrinxido

  • ctgpgpu5:
    • Servidor PowerEdge R730
    • 2 procesadores Intel Xeon E52623v4
    • 128 GB de memoria RAM (4 DDR4 DIMM a 2400MHz)
    • 2 tarxeta Nvidia GP102GL [Tesla P40]
    • Sistema operativo Ubuntu 18.04
      • Slurm para la gestión de colas de trabajo de uso obligatorio.
      • Modules para la gestión de versiones de bibliotecas.
      • Driver Nvidia 450.119.03 para CUDA versión 11.0
      • OpenCV 2.4 y 3.4
      • Atlas 3.10.3
      • MAGMA
      • TensorFlow
      • Caffee
  • ctgpgpu6:
    • Servidor SIE LADON 4214
    • 2 procesadores Intel Xeon Silver 4214
    • 192 GB de memoria RAM (12 DDR4 DIMM a 2933MHz)
    • Nvidia Quadro P6000 24GB (2018)
    • Nvidia Quadro RTX8000 48GB (2019)
    • 2 x Nvidia A30 24GB (2020)
    • Sistema operativo Centos 7.9
      • Driver Nvidia 520.61.05 para CUDA 11.8
  • ctgpgpu9:
    • Servidor Dell PowerEdge R750
    • 2 procesadores Intel Xeon Gold 6326
    • 128 GB de memoria RAM
    • NVIDIA Ampere A100 de 80 GB
    • Sistema operativo AlmaLinux 8.6
      • Driver NVIDIA 515.48.07 para CUDA 11.7
  • ctgpgpu10:
    • Servidor Dell PowerEdge R750
    • 2 procesadores Intel Xeon Gold 5317
    • 128 GB de memoria RAM
    • NVIDIA Ampere A100 de 80 GB
    • Sistema operativo AlmaLinux 8.7
      • Driver NVIDIA 525.60.13 para CUDA 12.0
  • ctgpgpu11:
    • Servidor Gybabyte G482-Z54
    • 256 GB de memoria RAM
    • 4 x NVIDIA Ampere A100 de 80 GB
    • Sistema operativo AlmaLinux 9.1
      • Driver NVIDIA 520.61.05 para CUDA 11.8

Alta no servizo

Non todos os servidores están dispoñibles en todo momento para calqueira uso. Para acceder aos servidores, hai que solicitalo previamente a través do formulario de incidencias. Os usuarios que non teñan permiso de acceso recibirán unha mensaxe de contrasinal incorrecto.

Manual de usuario

Conexión cos servidores

Para conectarse ós servidores, debes facelo a través de SSH. O nome e as direccións IP dos servidores son as seguintes:

  • ctgpgpu4.inv.usc.es - 172.16.242.201:22
  • ctgpgpu5.inv.usc.es - 172.16.242.202:22
  • ctgpgpu6.inv.usc.es - 172.16.242.205:22
  • ctgpgpu9.inv.usc.es - 172.16.242.94:22
  • ctgpgpu10.inv.usc.es - 172.16.242.95:22
  • ctgpgpu11.inv.usc.es - 172.16.242.96:22

A conexión só está dispoñible dende a rede do centro. Para conectarse dende outras localizacións ou dende a rede da RAI é preciso facer uso da VPN ou da parasela SSH.

Apagado/acendido dos equipos

Os servidores apáganse para aforrar enerxía ó non detectar actividade algunha durante unha hora. Para acendelos de novo, podes facer uso da ferramenta de acendido remoto.

Os servidores entenden como actividade:

  • calquera sesión SSH aberta,
  • calquera sesión de screen sen rematar

Xestión dos traballos con SLURM

Nos servidores nos que hai un xestor de colas é obrigatorio o seu uso para enviar traballos e así evitar conflitos entre procesos, xa que non se deben executar dous traballos ó mesmo tempo.

Para enviar un traballo á cola utilízase o comando srun:

srun programa_cuda argumentos_programa_cuda

O proceso srun agarda a que o traballo se execute para devolver o control ó usuario. Se non se quere agardar, pódense utilizar xestores de sesións de consola coma screen, e así poder deixar o traballo á espera e desconectar a sesión sen preocuparse e recuperar a saída de consola máis adiante.

Alternativamente, pódese utilizar nohup e pasar o traballo a segundo plano con &. Neste caso a saída gárdase no arquivo nohup.out:

nohup srun programa_cuda argumentos_programa_cuda &

Para ver o estado da cola utilízase o comando squeue. O comando mostra unha saída similar a esta:

JOBID PARTITION     NAME     USER  ST       TIME  NODES NODELIST(REASON)
9  servidore ca_water pablo.qu    PD       0:00      1 (Resources)
10 servidore ca_water pablo.qu    PD       0:00      1 (Priority)
11 servidore ca_water pablo.qu    PD       0:00      1 (Priority)
12 servidore ca_water pablo.qu    PD       0:00      1 (Priority)
13 servidore ca_water pablo.qu    PD       0:00      1 (Priority)
14 servidore ca_water pablo.qu    PD       0:00      1 (Priority)
 8 servidore ca_water pablo.qu     R       0:11      1 ctgpgpu2

Tamén pode obterse unha vista interactiva, actualizada cada segundo, co comando smap:

smap -i 1