====== Servidores de computación GPGPU ====== ===== Descripción del servicio ===== Estos servidores están destinados a la computación con GPU (GPGPU), orientados a tareas de cálculo intensivo, aprendizaje automático, procesamiento de datos y simulación científica que requieran aceleración por hardware gráfico. ==== Servidores de acceso libre ==== En estos servidores puede solicitar acceso cualquier investigador/a del centro. El acceso se concede previa solicitud y validación. ^ Nodo ^ Servidor ^ CPU ^ RAM ^ GPUs ^ Sistema Operativo ^ Gestión de trabajos ^ | ''ctgpgpu4'' | PowerEdge R730 | 2 × [[https://ark.intel.com/products/92980/Intel-Xeon-Processor-E5-2623-v4-10M-Cache-2_60-GHz|Intel Xeon E5-2623 v4]] | 128 GB | 2 × Nvidia GP102GL 24GB (Tesla P40, 2016) | AlmaLinux 9.1 \\ • CUDA 12.0 | **Slurm (uso obligatorio)** | * Servidores en el clúster de computación HPC: [[ centro:servizos:hpc | Clúster de computación HPC ]] * Servidores en el CESGA: [[ centro:servizos:cesga | Solicitar acceso ]] ==== Servidores de acceso restringido ==== En estos servidores el acceso está restringido a un grupo concreto, proyecto específico o bien está más controlado por cuestiones de gestión y planificación de recursos. Es imprescindible comprobar la información actualizada en Xici en el momento de solicitar el servicio, donde se detalla la casuística particular de cada servidor (criterios de acceso, prioridades, condiciones de uso, etc.). ^ Nodo ^ Servidor ^ CPU ^ RAM ^ GPUs ^ Sistema Operativo ^ Gestión de trabajos ^ | ''ctgpgpu5'' | PowerEdge R730 | 2 × [[https://ark.intel.com/products/92980/Intel-Xeon-Processor-E5-2623-v4-10M-Cache-2_60-GHz|Intel Xeon E5-2623 v4]] | 128 GB | 2 × Nvidia GP102GL (Tesla P40) | Ubuntu 22.04 \\ • Driver Nvidia 590 \\ • CUDA Toolkit 12.5 y 13.1 (por defecto) | n/a | | ''ctgpgpu6'' | SIE LADON 4214 | 2 × [[https://ark.intel.com/content/www/us/en/ark/products/193385/intel-xeon-silver-4214-processor-16-5m-cache-2-20-ghz.html|Intel Xeon Silver 4214]] | 192 GB | Nvidia Quadro P6000 24GB (2018) \\ Nvidia Quadro RTX8000 48GB (2019) \\ 2 × Nvidia A30 24GB (2020) | CentOS 7.9 \\ • Driver Nvidia 535.86.10 (CUDA 12.2) | n/a | | ''ctgpgpu9'' | Dell PowerEdge R750 | 2 × [[https://ark.intel.com/content/www/es/es/ark/products/215274/intel-xeon-gold-6326-processor-24m-cache-2-90-ghz.html|Intel Xeon Gold 6326]] | 128 GB | 2 × NVIDIA Ampere A100 80GB | AlmaLinux 8.6 \\ • Driver NVIDIA 515.48.07 (CUDA 11.7) | n/a | | ''ctgpgpu11'' | Gigabyte G482-Z54 | 2 × [[https://www.amd.com/es/products/cpu/amd-epyc-7413|AMD EPYC 7413 @2.65 GHz (24c)]] | 256 GB | 5 × NVIDIA Ampere A100 80GB | AlmaLinux 9.1 \\ • Driver NVIDIA 520.61.05 (CUDA 11.8) | n/a | | ''ctgpgpu12'' | Dell PowerEdge R760 | 2 × [[https://ark.intel.com/content/www/xl/es/ark/products/232376.html|Intel Xeon Silver 4410Y]] | 384 GB | 2 × NVIDIA Hopper H100 80GB | AlmaLinux 9.2 \\ • Driver NVIDIA 555.42.06 (CUDA 12.5) | n/a | | ''ctgpgpu15'' | SIE LADON (Gigabyte) | 2x AMD EPYC 9474F (48c) | 768 GB | 4 × NVIDIA H200 NVL | AlmaLinux 9.6 | ts | | ''ctgpgpu16'' | SIE LADON (Gigabyte) | 2x AMD EPYC 9474F (48c) | 768 GB | 4 × NVIDIA H200 NVL | AlmaLinux 9.7 | ts | | ''ctgpgpu17'' | SIE LADON (Gigabyte) | 2x AMD EPYC 9474F (48c) | 768 GB | 4 × NVIDIA H200 NVL | AlmaLinux 9.7 | ts | | ''ctgpgpu18'' | SIE LADON (MegaRAC SP-X) | 2x AMD EPYC 9335 (24c) | 1536 GB | 4 × NVIDIA H200 | Ubuntu 22.04 | ts | ===== Alta en el servicio ===== No todos los servidores están disponibles en todo momento para cualquier uso. Para acceder a los servidores, hay que solicitarlo previamente a través del [[https://citius.usc.es/uxitic/incidencias/add|formulario de incidencias]]. Los usuarios que no tengan permiso de acceso recibirán un mensaje de contraseña incorrecto. ===== 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: ^ Nodo ^ FQDN ^ IP ^ | ''ctgpgpu4'' | ctgpgpu4.inv.usc.es | 172.16.242.201 | | ''ctgpgpu5'' | ctgpgpu5.inv.usc.es | 172.16.242.202 | | ''ctgpgpu6'' | ctgpgpu6.inv.usc.es | 172.16.242.205 | | ''ctgpgpu9'' | ctgpgpu9.inv.usc.es | 172.16.242.94 | | ''ctgpgpu11'' | ctgpgpu11.inv.usc.es | 172.16.242.96 | | ''ctgpgpu12'' | ctgpgpu12.inv.usc.es | 172.16.242.97 | | ''ctgpgpu15'' | ctgpgpu15.inv.usc.es | 172.16.242.207 | | ''ctgpgpu16'' | ctgpgpu16.inv.usc.es | 172.16.242.212 | | ''ctgpgpu17'' | ctgpgpu17.inv.usc.es | 172.16.242.213 | | ''ctgpgpu18'' | ctgpgpu18.inv.usc.es | 172.16.242.208 | 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 [[:es:centro:servizos:vpn:start|VPN]] o de la [[:es:centro:servizos:pasarela_ssh|pasarela SSH]]. ==== Gestión de trabajos con SLURM ==== En los servidores en los que hay un gestor de colas Slurm es obligatorio su uso para enviar trabajos y así 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 servidor ca_water pablo.qu PD 0:00 1 (Resources) 10 servidor ca_water pablo.qu PD 0:00 1 (Priority) 11 servidor ca_water pablo.qu PD 0:00 1 (Priority) 12 servidor ca_water pablo.qu PD 0:00 1 (Priority) 13 servidor ca_water pablo.qu PD 0:00 1 (Priority) 14 servidor ca_water pablo.qu PD 0:00 1 (Priority) 8 servidor ca_water pablo.qu R 0:11 1 ctgpgpu2 También puede obtenerse una vista interactiva, actualizada cada segundo, con el comando ''smap'': smap -i 1 ==== Gestión de trabajos con TS ==== En los servidores que emplean ''ts'' como gestor de trabajos, es obligatorio utilizarlo para ejecutar tareas que empleen GPU, con el fin de evitar conflictos y garantizar una asignación correcta de los recursos. Para solicitar una GPU debe anteponerse la opción ''-G 1'' (o el número de GPUs necesarias): ts -G 1 programa_cuda argumentos_programa_cuda Por ejemplo: ts -G 1 python train.py --epochs 100 El sistema se encargará de poner el trabajo en cola y ejecutarlo cuando haya una GPU disponible. Para consultar ejemplos más avanzados (múltiples GPUs, recursos adicionales, opciones específicas, etc.) se puede emplear el comando: usage-overview