RuntimeError: Mesh has 2 partitions but running with 1 MPI ranks, with OpenMPI

Hello,

I just installed PyFR 0.8.0.

The 2d euler vortex example is working perfectly with Intel MPI 15, but I am having issues trying to run it with OpenMPI. (I tried with
OpenMPI 1.8.5 and 1.8.1).

This is the error I am getting:

bash-4.2$ pyfr import euler_vortex_2d.msh euler_vortex_2d.pyfrm
bash-4.2$ pyfr partition 2 euler_vortex_2d.pyfrm .

bash-4.2$ mpirun -n 2 pyfr run -p euler_vortex_2d.pyfrm euler_vortex_2d.ini

Traceback (most recent call last):
File "/ssd/apps/python-3.4.3/bin/pyfr", line 9, in <module>
load_entry_point('pyfr==0.8.0', 'console_scripts', 'pyfr')()
File "/ssd/apps/python-3.4.3/lib/python3.4/site-packages/mpmath/ctx_mp.py", line 1301, in g
return f(*args, **kwargs)
File "/ssd/apps/python-3.4.3/lib/python3.4/site-packages/pyfr-0.8.0-py3.4.egg/pyfr/scripts/main.py", line 126, in main
File "/ssd/apps/python-3.4.3/lib/python3.4/site-packages/pyfr-0.8.0-py3.4.egg/pyfr/scripts/main.py", line 247, in process_run
File "/ssd/apps/python-3.4.3/lib/python3.4/site-packages/pyfr-0.8.0-py3.4.egg/pyfr/scripts/main.py", line 228, in _process_common
File "/ssd/apps/python-3.4.3/lib/python3.4/site-packages/pyfr-0.8.0-py3.4.egg/pyfr/rank_allocator.py", line 14, in get_rank_allocation
File "/ssd/apps/python-3.4.3/lib/python3.4/site-packages/pyfr-0.8.0-py3.4.egg/pyfr/rank_allocator.py", line 32, in __init__
RuntimeError: Mesh has 2 partitions but running with 1 MPI ranks
Traceback (most recent call last):
File "/ssd/apps/python-3.4.3/bin/pyfr", line 9, in <module>
load_entry_point('pyfr==0.8.0', 'console_scripts', 'pyfr')()
File "/ssd/apps/python-3.4.3/lib/python3.4/site-packages/mpmath/ctx_mp.py", line 1301, in g
return f(*args, **kwargs)
File "/ssd/apps/python-3.4.3/lib/python3.4/site-packages/pyfr-0.8.0-py3.4.egg/pyfr/scripts/main.py", line 126, in main
File "/ssd/apps/python-3.4.3/lib/python3.4/site-packages/pyfr-0.8.0-py3.4.egg/pyfr/scripts/main.py", line 247, in process_run
File "/ssd/apps/python-3.4.3/lib/python3.4/site-packages/pyfr-0.8.0-py3.4.egg/pyfr/scripts/main.py", line 228, in _process_common
File "/ssd/apps/python-3.4.3/lib/python3.4/site-packages/pyfr-0.8.0-py3.4.egg/pyfr/rank_allocator.py", line 14, in get_rank_allocation
File "/ssd/apps/python-3.4.3/lib/python3.4/site-packages/pyfr-0.8.0-py3.4.egg/pyfr/rank_allocator.py", line 32, in __init__
RuntimeError: Mesh has 2 partitions but running with 1 MPI ranks

Hi Pablo,

I just installed PyFR 0.8.0.

The 2d euler vortex example is working perfectly with Intel MPI 15, but
I am having issues trying to run it with OpenMPI. (I tried with
OpenMPI 1.8.5 and 1.8.1).

When switching out MPI implementations it is also necessary to recompile
mpi4py.

I suspect that the version of mpi4py you're using has been compiled
against Intel MPI. The result is that you end up using the process
manager from OpenMPI and the runtime from Intel MPI (which ignores the
OpenMPI environment).

Regards, Freddie.