mpi4py is a python wrapper for the functionality implemented in an MPI library ie openMPI, MPICH, spectrum…
In order to run PyFR across multiple ranks, you have to use the launch application with mpiexec
(some libraries also have mpirun
but this is not part of the standard), this is the same for any application you wish to use MPI with.
This will launch n
instances of PyFR and give each a rank ID number. Then, inside pyfr we use the mpi4py package to initialise MPI, detect the rank id, and handle the communication required to run the calculation. For example, send/receive packets of data between ranks.
mpi4py is not independent of the MPI library