21#include "../System/SystemModule.h"
22#include "../ControlPanel/ControlPanel.h"
23#include "../Scheduler/InitiatingEventController.h"
24#include "../Procedure/Procedures.h"
25#include "../Global/RestartNodeInfo.h"
26#include "../Branch/BranchRecord.h"
29#include <boost/archive/text_oarchive.hpp>
30#include <boost/archive/text_iarchive.hpp>
31#include <boost/archive/binary_oarchive.hpp>
32#include <boost/archive/binary_iarchive.hpp>
41using PU = ParallelUtilities;
43typedef double parameters;
56 MPI_Status statusServer;
57 MPI_Status statusClient;
59 std::string str, time_begin, time_end;
66 void parallel_init(
int *argc,
char **argv[]);
69 void parallel_final();
71 int ReceiveDonePacket();
73 void Start_Simulation();
74 void Branch_Sequence(
int i);
75 void Simulate_Sequence();
78 void Setup_Directories();
82 static void saveToFile(
const T&
object,
const std::string& filePath);
86 static void loadFromFile(T&
object,
const std::string& filePath);
90 static void send_object(
const T& obj,
int dest_rank,
int tag, MPI_Comm comm);
94 static void receive_object(T& obj,
int src_rank,
int tag, MPI_Comm comm);
MPI client (rank > 0): executes simulation sequences.
void set_global_client(Client *c)
Shared declarations for MPI parallel execution: message tags, utilities, Fortran callbacks.
Static MPI utility functions — colored logging, Boost object serialization over MPI.
MPI server (rank 0): dispatches DET sequences to worker clients.
The end state (ES node) that terminates one sequence of the DET.
MPI worker client that executes simulation sequences.