Pregunta más frecuente
Ejemplo de fichero sbatch para computo en GPU
Últimas actualizaciones hace 2 años
#!/bin/bash ########################## ### DIRECTIVAS SLURM ### ########################## ## NOTA: Las directivas de SLURM se deben de escribir como comentarios bash (con '#') seguida de la palabra "SBATCH" (sin espacio) ## NOTA: Cualquier modificacion en el comienzo de las directivas (como un espacio o dobles "##") hará que la directiva no se aplique y se trate como un comentario mas ## Particion de computo a la que se lanzara el trabajo #SBATCH --partition gpu ## Numero de nodos que se requerirán para el trabajo #SBATCH --nodes 1 ## Numero de cores por nodo que se reservarán para el trabajo (min: 1) #SBATCH --ntasks-per-node 8 ## Numero de GPUs totales que se reservarán para el trabajo #SBATCH --gpus 1 ## Ficheros de salida y error estandar del trabajo (redirecciona las salidas por consola a un fichero de texto) ## Ambas salidas pueden ir al mismo o a ficheros diferentes #SBATCH --output trabajoPruebaGPU.out #SBATCH --error trabajoPruebaGPU.out ########################## ### CARGA DE MODULOS ### ########################## ## En este apartado se cargan los modulos necesarios para la ejecución de aplicaciones module purge # Limpieza de todos los modulos cargados previamente module load cuda # Carga del modulo de Nvidia CUDA ################### ### EJECUCION ### ################### ## En este apartado se procede a la ejecución de los calculos y computos objetivos del trabajo ## Se pueden lanzar de 3 maneras diferentes dependiendo del programa a ejecutar o el resultado que se desea obtener: ## - Ejecucion Normal ## Esta ejecución es como la que se realizaría de manera clasica en la terminal ## Ejecuta la aplicación una sola vez. Si esta usa OpenMP para gestionar los multihilos, se repartirán hasta usar todos los cores reservados. ## Ejemplo: ## ./calculo.run ## python3 myscript.py ## ## - Ejecución con MPI ## Esta ejecucion se usa para aplicaciones que paralelizan mediante MPI. ## Ejecuta multiples procesos conectados mediante MPI. Cada proceso ocupa uno de los cores reservados por el trabajo. ## Este tipo de ejecuciones permiten la paralelizacion entre multiples nodos de computo. ## Ejemplo: ## mpirun -n $SLURM_NTASKS calculoMPI.run ## ## - Ejecucion multiple ## Este metodo sirve para ejecutar tantas veces un calculo como cores se han reservado en el trabajo. ## El calculo ejecutado es el mismo en todos los cores. Sirve para calculos de generacion y de repeticion. ## Ejemplo: ## srun calculo.run python3 entrenamientoGAN.py # Prueba de Hola mundo en todos los cores reservados # srun bash -c 'echo "Hola desde el nodo $(hostname) con proceso $SLURM_LOCALID"' ######################### ### FIN DEL TRABAJO ### ######################### ## En este ultimo apartado, se realizan las labores de limpieza de ficheros basura del calculo (si los hubiese) echo "Job Terminated"