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:

  • ctgpgpu2
    • Servidor Dell Precision R5400
    • 2 procesadores Intel Xeon E5440
    • 8 GB de memoria RAM (4 DDR2 FB-DIMM a 667 MHz)
    • 1 tarxeta Nvidia GK104 [Geforce GTX 680]
    • Sistema operativo Ubuntu 18.04
      • Slurm (de uso obrigatorio para a xestión de traballos)
      • CUDA 9.2 (repositorio oficial de Nvidia)
      • Docker-ce 18.06 (repositorio oficial de Docker)
      • Nvidia-docker 2.0.3 (repositorio oficial de Nvidia)
      • Nvidia cuDNN v7.2.1 for CUDA 9.2
      • Intel Parallel Studio Professional for C++ 2015 (licenza única, avisa se vas usalo!)
  • ctgpgpu3:
    • Servidor PowerEdge R720
    • 1 procesador Intel Xeon E52609
    • 16 GB de memoria RAM (1 DDR3 DIMM a 1600MHz)
    • Conectado a un caixón de gráficas con:
      • Gigabyte GeForce GTX Titan 6GB (2014)
      • Nvidia Titan X Pascal 12GB (2016)
    • Sistema operativo Ubuntu 18.04
      • Slurm (de uso obrigatorio para a xestión de traballos)
      • CUDA 9.2 (repositorio oficial de Nvidia)
      • Docker-ce 18.06 (repositorio oficial de Docker)
      • Nvidia-docker 2.0.3 (repositorio oficial de Nvidia)
      • Nvidia cuDNN v7.2.1 for CUDA 9.2
      • Intel Parallel Studio Professional for C++ 2015 (licenza única, avisa se vas usalo!)
      • ROS Melodic Morenia (repositorio oficial de ROS)
  • ctgpgpu4:
    • Servidor PowerEdge R730
    • 2 procesadores Intel Xeon E52623v4
    • 128 GB de memoria RAM (4 DDR4 DIMM a 2400MHz)
    • 2 tarxeta Nvidia GP102GL 24GB [Tesla P40]
    • Sistema operativo Centos 7.4
      • docker 17.09 y nvidia-docker 1.0.1
      • OpenCV 2.4.5
      • Dliv, Caffe, Caffe2 y pycaffe
      • Python 3.4: cython, easydict, sonnet
      • TensorFlow
  • ctgpgpu5:
    • Servidor PowerEdge R730
    • 2 procesadores Intel Xeon E52623v4
    • 128 GB de memoria RAM (4 DDR4 DIMM a 2400MHz)
    • 2 tarxeta Nvidia GP102GL 24GB [Tesla P40]
    • Sistema operativo Ubuntu 16.04
      • Slurm para a xestión de colas de traballo de uso obrigatorio.
      • Modules para la gestión de versiones de bibliotecas.
      • CUDA versión 9.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)
    • Sistema operativo Centos 7.7
  • ctgpgpu7:
    • Servidor Dell PowerEdge R740
    • 2 procesadores Intel Xeon Gold 5220
    • 192 GB de memoria RAM (12 DDR4 DIMM a 2667MHz)
    • 2 x Nvidia Tesla V100S 32GB (2019)
    • Sistema operativo Centos 8.1
      • Slurm para a xestión de colas de traballo de uso obrigatorio.
      • Modules para la gestión de versiones de bibliotecas.
      • Driver Nvidia 440.64.00 para CUDA 10.2
      • Docker 19.03
  • ctgpgpu8:
    • Servidor Dell PowerEdge R740
    • 2 procesadores Intel Xeon Gold 5220
    • 192 GB de memoria RAM (12 DDR4 DIMM a 2667MHz)
    • 2 x Nvidia Tesla V100S 32GB (2019)
    • Sistema operativo Centos 8.1
      • Slurm para a xestión de colas de traballo de uso obrigatorio.
      • Modules para la gestión de versiones de bibliotecas.
      • Driver Nvidia 440.64.00 para CUDA 10.2
      • Docker 19.03

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:

  • ctgpgpu2.inv.usc.es - 172.16.242.92:22
  • ctgpgpu3.inv.usc.es - 172.16.242.93:22
  • 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
  • ctgpgpu7.inv.usc.es - 172.16.242.207:22
  • ctgpgpu8.inv.usc.es - 172.16.242.208: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