Difference between revisions of "Rocky Python MPI Hello World"
From NIMBioS
| (2 intermediate revisions by the same user not shown) | |||
| Line 1: | Line 1: | ||
= | = MPI4PY Jobs on Rocky = | ||
== Supported Stack == | == Supported Stack == | ||
| Line 9: | Line 9: | ||
* '''mpi4py 4.0.1''' | * '''mpi4py 4.0.1''' | ||
= | = MPI4PY Example: Hello World in Python = | ||
| Line 34: | Line 34: | ||
#SBATCH --error=hello-mpi4py-%j.err | #SBATCH --error=hello-mpi4py-%j.err | ||
#SBATCH --nodes=2 | #SBATCH --nodes=2 | ||
#SBATCH --ntasks= | #SBATCH --ntasks=8 | ||
#SBATCH --time=00:05:00 | #SBATCH --time=00:05:00 | ||
module load OpenMPI/4.1.6-GCC-13.2.0 | module load OpenMPI/4.1.6-GCC-13.2.0 | ||
module load mpi4py | module load mpi4py/4.0.1 | ||
srun --mpi=pmix_v3 python hello_mpi4py.py | srun --mpi=pmix_v3 python hello_mpi4py.py | ||
Latest revision as of 14:22, 16 December 2025
MPI4PY Jobs on Rocky
Supported Stack
We currently recommend and support:
- OpenMPI 4.1.6
- PMIx 4.2.6
- mpi4py 4.0.1
MPI4PY Example: Hello World in Python
hello_mpi4py.py
from mpi4py import MPI
import socket
comm = MPI.COMM_WORLD
rank = comm.Get_rank()
size = comm.Get_size()
hostname = socket.gethostname()
print(f"Hello from rank {rank} of {size} on {hostname}")
hello_mpi4py.sbatch
#!/usr/bin/env bash
#SBATCH --job-name=hello-mpi4py
#SBATCH --output=hello-mpi4py-%j.out
#SBATCH --error=hello-mpi4py-%j.err
#SBATCH --nodes=2
#SBATCH --ntasks=8
#SBATCH --time=00:05:00
module load OpenMPI/4.1.6-GCC-13.2.0
module load mpi4py/4.0.1
srun --mpi=pmix_v3 python hello_mpi4py.py
Submit the job:
sbatch hello_mpi4py.sbatch
Expected Output
Hello from rank 0 of 8 on rocky4.rocky.nimbios.org Hello from rank 1 of 8 on rocky4.rocky.nimbios.org Hello from rank 2 of 8 on rocky4.rocky.nimbios.org Hello from rank 3 of 8 on rocky4.rocky.nimbios.org Hello from rank 4 of 8 on rocky5.rocky.nimbios.org Hello from rank 5 of 8 on rocky5.rocky.nimbios.org Hello from rank 6 of 8 on rocky5.rocky.nimbios.org Hello from rank 7 of 8 on rocky5.rocky.nimbios.org