MPICH or OpenMPI

Dear all,

I installed preCICE with MPICH since the website said OpenMPI does not currently fully support the MPI ports functionality. In case you link to OpenMPI, you cannot use MPI for the m2n communication of preCICE.

However, OpenFOAM needs OpenMPI for parallel computation. So I installed openFOAM with OpenMPI.

Will these two different ways of compiling affect the coupling of preCICE and OpenFOAM and parallel simulation?

Thanks,

Jun

Dear @jun_leng,

we currently have different issues with both MPICH and OpenMPI:

However, the important part here is that you only need/makes sense to use MPI ports (instead of TCP sockets) for inter-solver communication in very large cases.

Other than that, preCICE also uses MPI for intra-solver communication. In this case, it is important that you have preCICE built with the same MPI version as your solver. So, since OpenFOAM is using OpenMPI, you should also choose OpenMPI.

Until we identify and fix the OpenMPI issue linked above, you can always configure your cases to use sockets.

Hi @MakisH,
Thank you for your advice. So is it true that the MPI ports are only used to speed up communications between solvers and has no effect on parallel computation in opwnFOAM? And I can still use TCP sockets for communication even if my openFOAM solver uses MPI for parallel computation, right?

Yes, this is correct. These are different communications that do not directly affect each other. In fact, all of our tutorials are configured to use sockets, but still you can run them in parallel, without any changes to the solvers.

With preCICE v2.2.0, we have fixed all known issues with MPICH.

1 Like