Antares Xpansion
Investment simulations for Antares studies
Loading...
Searching...
No Matches
MpiCommunicationStrategy Class Reference

Communication strategy for MPI-based distributed execution. More...

#include <MpiCommunicationStrategy.h>

Inheritance diagram for MpiCommunicationStrategy:
ICommunicationStrategy

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)
 

Detailed Description

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.

Member Function Documentation

◆ Barrier()

void MpiCommunicationStrategy::Barrier ( ) const
inlineoverridevirtual

Synchronization barrier across all processes (no-op for sequential)

Implements ICommunicationStrategy.

◆ Rank()

int MpiCommunicationStrategy::Rank ( ) const
inlinenodiscardoverridevirtual

Return the rank of this process (0 for sequential)

Implements ICommunicationStrategy.

◆ ShouldParallelize()

bool MpiCommunicationStrategy::ShouldParallelize ( ) const
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.

◆ World()

mpi::communicator & MpiCommunicationStrategy::World ( )
inline

Access the underlying MPI communicator for operations not yet abstracted into the strategy interface (broadcast, gather, reduce).

◆ WorldSize()

int MpiCommunicationStrategy::WorldSize ( ) const
inlinenodiscardoverridevirtual

Return the total number of processes (1 for sequential)

Implements ICommunicationStrategy.


The documentation for this class was generated from the following file: