Antares Xpansion
Investment simulations for Antares studies
Loading...
Searching...
No Matches
ICommunicationStrategy.h
1#pragma once
2
33{
34public:
35 virtual ~ICommunicationStrategy() = default;
36
38 [[nodiscard]] virtual int Rank() const = 0;
39
41 [[nodiscard]] virtual int WorldSize() const = 0;
42
44 [[nodiscard]] bool IsMaster() const
45 {
46 return Rank() == 0;
47 }
48
50 virtual void Barrier() const = 0;
51
55 [[nodiscard]] virtual bool ShouldParallelize() const = 0;
56};
Strategy interface for communication operations in Benders decomposition.
Definition ICommunicationStrategy.h:33
virtual int Rank() const =0
Return the rank of this process (0 for sequential)
virtual int WorldSize() const =0
Return the total number of processes (1 for sequential)
bool IsMaster() const
Whether this process is the master (rank 0)
Definition ICommunicationStrategy.h:44
virtual void Barrier() const =0
Synchronization barrier across all processes (no-op for sequential)
virtual bool ShouldParallelize() const =0