10.4. Launching only on the local node
It is common to develop MPI applications on a single workstation or laptop, and then move to a larger parallel / HPC environment once the MPI application is ready.
Open MPI supports running multi-process MPI jobs on a single machine. In such cases, you can simply avoid listing a hostfile or remote hosts, and simply list a number of MPI processes to launch. For example:
shell$ mpirun -n 6 mpi-hello-world Hello world, I am 0 of 6 (running on my-laptop)) Hello world, I am 1 of 6 (running on my-laptop) ... Hello world, I am 5 of 6 (running on my-laptop)
If you do not specify the
mpirun will default to
launching as many MPI processes as there are processor cores (not
hyperthreads) on the machine.
10.4.1. MPI communication
When running on a single machine, Open MPI will most likely use the
ob1 PML and the following BTLs for MPI communication between
self: used for sending and receiving loopback MPI messages — where the source and destination MPI process are the same.
sm: used for sending and receiving MPI messages where the source and destination MPI processes can share memory (e.g., via SYSV or POSIX shared memory mechanisms).