... | ... | @@ -11,4 +11,11 @@ Because of that, we want to be able to have a non MPI version of our code. And s |
|
|
|
|
|
## Selected solution
|
|
|
|
|
|
We developed a minimal dummy Boost.MPI that mimic an 1 process communicator. Such |
|
|
We developed a minimal dummy Boost.MPI in the `boost::noopmpi` that mimic an 1 process communicator. Such a library does not actually need an actual MPI implementation.
|
|
|
|
|
|
Instead of using Boost.MPI headers directly, our code uses "switching" header that will define the `fmpi` namespace.
|
|
|
Depending on the **FARGO_SEQ** macro variable definition, that header will import either the `boost::mpi` implementation or the `boost::noopmpi` implementation.
|
|
|
|
|
|
The header correspondence is of the form `#include "boost/communicator.hpp"` $`\Rightarrow`$ `#include "boostcommunicator.hpp"`.
|
|
|
|
|
|
There are a few other places where we still need to rely on the **FARGO_SEQ** macro definition to explicitly select the code to compile. We hope to clean that stain on our karma at some point. |
|
|
\ No newline at end of file |