|
Antares Xpansion
Investment simulations for Antares studies
|
Communication strategy for MPI-based distributed execution. More...
#include <MpiCommunicationStrategy.h>
Public Member Functions | |
| MpiCommunicationStrategy (mpi::communicator &world) | |
| int | Rank () const override |
| Return the rank of this process (0 for sequential) | |
| int | WorldSize () const override |
| Return the total number of processes (1 for sequential) | |
| void | Barrier () const override |
| Synchronization barrier across all processes (no-op for sequential) | |
| bool | ShouldParallelize () const override |
| mpi::communicator & | World () |
| const mpi::communicator & | World () const |
Public Member Functions inherited from ICommunicationStrategy | |
| bool | IsMaster () const |
| Whether this process is the master (rank 0) | |
Communication strategy for MPI-based distributed execution.
This strategy wraps a boost::mpi::communicator to provide distributed communication for running Benders decomposition across multiple MPI ranks. Subproblem solving is distributed across ranks rather than using local TBB parallelism.
|
inlineoverridevirtual |
Synchronization barrier across all processes (no-op for sequential)
Implements ICommunicationStrategy.
|
inlinenodiscardoverridevirtual |
Return the rank of this process (0 for sequential)
Implements ICommunicationStrategy.
|
inlinenodiscardoverridevirtual |
Whether subproblems should be parallelized locally using TBB. Returns true for sequential (local parallelism), false for MPI (distribution handles parallelism across ranks).
Implements ICommunicationStrategy.
|
inline |
Access the underlying MPI communicator for operations not yet abstracted into the strategy interface (broadcast, gather, reduce).
|
inlinenodiscardoverridevirtual |
Return the total number of processes (1 for sequential)
Implements ICommunicationStrategy.