Changes between Initial Version and Version 1 of multi_threaded_task


Ignore:
Timestamp:
May 8, 2023, 9:53:22 AM (2 years ago)
Author:
tonin
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • multi_threaded_task

    v1 v1  
     1== Trabajo de una tarea multi threaded ==
     2Es un caso muy habitual, donde un programa que tiene un solo hilo de ejecución y por tanto necesita un solo core, se tiene que lanzar N veces variando los argumentos.
     3{{{
     4#!/bin/bash
     5#SBATCH --job-name=parallel_job     # Nombre del trabajo
     6#SBATCH --mail-type=END,FAIL        # Eventos para recibir correos electrónicos (NONE, BEGIN, END, FAIL, ALL)
     7#SBATCH --mail-user=micorreo@uco.es # Dirección de correo electrónico donde se enviarán los correos
     8#SBATCH --nodes=1                   # Ejecutar todos los procesos en un solo nodo
     9#SBATCH --ntasks=1                  # Ejecutar una sola tarea
     10#SBATCH --cpus-per-task=4           # Número de núcleos de CPU por tarea
     11#SBATCH --mem=1gb                   # Solicitud de memoria para el trabajo
     12#SBATCH --time=00:05:00             # Límite de tiempo hrs:min:seg
     13#SBATCH --output=parallel_%j.log    # Registro de salida y error estándar
     14pwd; hostname; date
     15
     16echo "Ejecutando programa generador de números primos en $SLURM_CPUS_ON_NODE núcleos de CPU"
     17
     18/data/training/SLURM/prime/prime
     19
     20date
     21}}}
     22
     23la diferencia con el ejemplo single threaded es que en este caso el número de cpus-per-task es 4, que corresponderán a 4 hilos de ejecución de la tarea. Aquí a diferencia del anterior no ejecutamos seriadamente N repeticiones, aunque se podría combinar también con la capacidad de arrays de slurm para hacerlo si fuera el caso.
     24
     25También hemos aprovechado para ilustrar ls forma de decirle a slurm que nos avise por correo, en este caso cuando el trabajo termine y cuando falle.