Skip to content

Reply To: Multi GPUs Calculation


You mean why mpirun starts the program even if MPI support is not enabled during compilation? If so this because mpirun basically only starts the given executable N times and provides each with the environment required for communication – whether this is actually utilized is up to the indidual program and not verified by mpirun.

The communication code is primarily contained in src/communication and to some degree src/core/platform. That you can not easily see it is kind of the point of the abstraction as otherwise each example case would have to duplicate its own version of communication which goes against the idea of building a framework. (If I understand your question correctly)

1) Yes, you should never need to directly use MPI commands when using OpenLB as a simulation framework utilizing the existing feature set. (Ignoring that the number of ranks is passed to the cuboid geometry during construction)

2) Yes

3) No, same as 1 and 2. From the user side there is no MPI-related code difference between CPU-only and (multi)GPU mode.