Version 2 (modified by i22balur, 4 weeks ago) (diff) |
---|
Tarea MPI
Aquí lanzaremos una tarea que usará 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