mpprun is the NSC recommended way to start a MPI job. mpprun does not need the MPI modules to be loaded at run time. If a MPI binary is built according to NSC recommendations, then mpprun can detect the right settings needed for correctly launching the MPI job. mpprun calls the native MPI launcher from within with the correct settings. mpprun can pass flags to underlying MPI launcher. For full list of mpprun options use
Example job script: run an MPI application on two nodes (32 cores)
#!/bin/bash # #SBATCH -J myjobname #SBATCH -t 00:30:00 #SBATCH -N 2 #SBATCH --exclusive mpprun mympiapp ## mympiapp is available in PATH # Script ends here
Running a binary using mpprun in an interactive session on two nodes:
First allocate the nodes by issuing the command: $ interactive -N 2 --exclusive -t 00:10:00 --reservation=devel Once the nodes are allocated run: $ mpprun ./mympiapp
Passing flags through mpprun: In the follwing example we pass Openmpi specific flags
#!/bin/bash # #SBATCH -J myjobname #SBATCH -t 00:30:00 #SBATCH -N 2 #SBATCH --exclusive export PATH=/software/apps/vasp/5.3.2-13Sep12/build03:$PATH mpprun --pass="--bind-to-core --bysocket" vasp-gamma # Script ends here
–bind-to-core and –bysocket are OpenMPI specific flags. Such flags must be passed through the –pass=“….” flag of of mpprun.
dumptag is the utility to see the NSC tags of a binary.
Please contact NSC Support if you have any questions or problems.