3#include "GlobalSharingStrategy.hpp"
26 unsigned long bufferSize);
Definition BloomFilter.hpp:24
Implements a generic global sharing strategy for clause exchange.
Definition GenericGlobalSharing.hpp:14
void joinProcess(int winnerRank, SatResult res, const std::vector< int > &model) override
Handles the process of joining when a solution is found.
~GenericGlobalSharing()
Destructor for GenericGlobalSharing.
std::vector< int > receivedClauses
Buffer for received serialized clauses.
Definition GenericGlobalSharing.hpp:79
std::vector< MPI_Request > sendRequests
MPI requests for non-blocking sends.
Definition GenericGlobalSharing.hpp:71
bool initMpiVariables() override
Initializes MPI-related variables.
BloomFilter b_filter_send
Bloom filter for avoiding duplicate clause sends.
Definition GenericGlobalSharing.hpp:73
BloomFilter b_filter_recv
Bloom filter for avoiding duplicate clause receives.
Definition GenericGlobalSharing.hpp:75
void deserializeClauses(std::vector< int > &serialized_v_cls)
Deserializes received clauses.
GenericGlobalSharing(const std::shared_ptr< ClauseDatabase > &clauseDB, const std::vector< int > &subscriptions, const std::vector< int > &subscribers, unsigned long bufferSize)
Constructor for GenericGlobalSharing with copy semantics.
std::vector< int > clausesToSendSerialized
Buffer for serialized clauses to send.
Definition GenericGlobalSharing.hpp:77
bool doSharing() override
Performs the clause sharing operation. An MPI process starts by serializing its clauses then sends th...
unsigned int totalSize
Total size of the buffer for clause sharing.
Definition GenericGlobalSharing.hpp:69
int serializeClauses(std::vector< int > &serialized_v_cls)
Serializes clauses for sharing.
std::vector< int > subscriptions
List of MPI ranks to receive clauses from.
Definition GenericGlobalSharing.hpp:81
std::vector< int > subscribers
List of MPI ranks to send clauses to.
Definition GenericGlobalSharing.hpp:83
Base class for global clause sharing strategies across MPI processes.
Definition GlobalSharingStrategy.hpp:27
SatResult
Enumeration for SAT solver results.
Definition SolverInterface.hpp:39