== Tarea MPI == Aquí lanzaremos una tarea que usará [https://es.wikipedia.org/wiki/Interfaz_de_Paso_de_Mensajes mpi] para trabajar de forma paralela y con paso de mensajes entre los diferentes procesos que la componen. {{{ #!/bin/bash # Job name: #SBATCH --job-name=test # # Account: #SBATCH --account=account_name # # Partition: #SBATCH --partition=partition_name # # Number of MPI tasks needed for use case (example): #SBATCH --ntasks=40 # # Processors per task: #SBATCH --cpus-per-task=1 # # Wall clock limit: #SBATCH --time=00:00:30 # ## Command(s) to run (example): module load GCC OpenMPI mpirun ./a.out }}} Aquí podemos apreciar varias cosas: - El número de nodos no por tarea no se fija a 1, pues al tratarse de un programa paralelo con mpi, lo normal es que se pueda distribuir entre varios nodos que no comparten memoria (''distributed memory'') y que se pasan las dependencias de memoria mediante mensajes mpi. - Nuestro programa, a.out en este caso, se invoca mediante el comando {{{mpirun}}}, habiendo cargado previamente los módulos {{{GCC}}} y {{{OpenMPI}}}