¡Esta es una revisión vieja del documento!
Servidores de computación GPGPU
Descripción del servicio
Servidores con gráficas:
ctgpgpu3
:- Servidor PowerEdge R720
- 1 procesador Intel Xeon E52609
- 16 GB de memoria RAM (1 DDR3 DIMM a 1600MHz)
- Conectado a un cajó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 obligatorio para la gestión de trabajos)
- CUDA 10.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 (¡licencia única, avisa si vas a utilizarlo!)
- 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 [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 [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.
- 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)
- Sistema operativo Centos 7.7
- Driver Nvidia 418.87.00 para CUDA 10.1
- Docker 19.03
ctgpgpu7
:- Integrado en el clúster de computación como hpc-gpu2.
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 la gestión de colas de trabajo de uso obligatorio
- Modules para la gestión de versiones de bibliotecas.
- Driver Nvidia 440.64.00 para CUDA 10.2
- Docker 19.03
Alta en el servicio
Aunque todos los usuarios del CiTIUS pueden acceder a este servicio, no todos los servidores están disponibles permanentemente, por lo que deben solicitarlo previamente a través del formulario de incidencias. Mientras no lo hagan, recibirán un mensaje de contraseña incorrecta.
Manual de usuario
Conexión con los servidores
Para conectarse a los servidores, debes hacerlo a través de SSH. El nombre y las direcciones IP de los servidores son las siguientes:
- 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
La conexión solo está disponible desde la red del centro. Para conectarse desde otras localizaciones o desde la red de la RAI es necesario hacer uso de la VPN o de la parasela SSH.
Apagado/encendido de los equipos
Los servidores se apagan para ahorrar energía al no detectar actividad alguna durante una hora. Para encenderlos de nuevo, puedes hacer uso de la herramienta de encendido remoto.
Los servidores entienden como actividad:
- cualquier sesión SSH abierta,
- cualquier sesión de screen sin rematar
Gestión de los trabajos con SLURM
En los servidores en los que hay un gestor de colas instalado para enviar trabajos es obligatorio su uso para evitar conflictos entre procesos, ya que no se deben ejecutar dos trabajos al mismo tiempo.
Para enviar un trabajo a la cola se utiliza el comando srun
:
srun programa_cuda argumentos_programa_cuda
El proceso srun
espera a que el trabajo se ejecute para devolver el control al usuario. Si no se quiere esperar, se pueden utilizar gestores de sesiones de consola como screen
, y así poder dejar el trabajo a la espera y desconectar la sesión sin preocuparse y recuperar la salida de consola más adelante.
Alternativamente, se puede utilizar nohup
y pasar el trabajo a segundo plano con &
. En este caso la salida se guarda en el archivo nohup.out
:
nohup srun programa_cuda argumentos_programa_cuda &
Para ver el estado de la cola se utiliza el comando squeue
. El comando muestra una salida 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
También se puede obtener una vista interactiva, actualizada cada segundo, con el comando smap
:
smap -i 1