Esta é unha revisión antiga do documento!
Servidores de computación GPGPU
Descrición do servizo
Seis servidores con gráficas:
ctgpgpu1
:- Servidor Supermicro X8DTG-D
- 2 procesadores Intel Xeon E5520
- 10 GB de memoria RAM (5 DIMM a 1333 MHz)
- 2 tarxetas Nvidia GF100 [Tesla S2050]
- Unhas das tarxetas atópase temporalmente noutro servidor para unhas probas. Polo tanto, polo de agora só hai unha tarxeta dispoñible.
- Sistema operativo Ubuntu 10.04
- CUDA versión 5.0
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)
- Nvidia Titan Xp 12GB (2017)
- 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
- Driver Nvidia 418.87.00 para CUDA 10.1
- Docker 19.03
Alta no servizo
Todos os usuarios do CITIUS poden acceder a este servizo, pero para iso deben solicitalo previamente a través do formulario de incidencias. Mentres non o fagan, 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:
- ctgpgpu1.inv.usc.es - 172.16.242.91:1301
- 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
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
En ctgpgpu2
,en ctgpgpu3
e en ctgpgpu5
hai un xestor de colas instalado 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
(hai dispoñible unha guía en vídeo moi sinxela de seguir), 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