MxUI / MUI

Multiscale Universal Interface: A Concurrent Framework for Coupling Heterogeneous Solvers
http://mxui.github.io/
Apache License 2.0
54 stars 40 forks source link

MUI Coupling with the Lattice Boltzmann solver Palabos freezes #49

Closed kaushikns closed 4 years ago

kaushikns commented 4 years ago

I am trying to use MUI with Palabos as one of the solver applications. Palabos uses MPI to parallelize computations and the application is written completely in C++. I find that whenever a Palabos parallel functional is being executed, the program freezes.

SLongshaw commented 4 years ago

Hi,

Without seeing your full implementation it's hard to say exactly what's wrong, however here are a few general pointers:

1) Palabos will need to use the new MPI comm world provided by MUI's helper function mpi_split_by_app(), this needs to be provided to the MPI_Init of Palabos (and mui.h included in the code before Palabos calls MPI_Init). 2) I would recommend creating your MUI "uniface" interfaces with the helper function, even if just creating a single interface. This will ensure everything is done correctly. Please see example 5-mulit-domain from the MUI-demos repository for an example of how to do this. 3) Don't forget that MUI relies on the MPI MPMD model, so all runs using MUI will look like (assuming OpenMPI or similar): mpirun -np x application1: -np y application2: -np z application 3: ...

Hope that helps!

kaushikns commented 4 years ago

Thanks for patiently answering this noob question! It worked!