X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/d20f024dba9ff1e9c8822237caaf963b9e913889..09dc22d76dcaa090778d6a9a5dfce073b1ba3ae4:/src/smpi/include/smpi_process.hpp diff --git a/src/smpi/include/smpi_process.hpp b/src/smpi/include/smpi_process.hpp index 0e480b0105..623abfa421 100644 --- a/src/smpi/include/smpi_process.hpp +++ b/src/smpi/include/smpi_process.hpp @@ -7,6 +7,7 @@ #ifndef SMPI_PROCESS_HPP #define SMPI_PROCESS_HPP +#include "private.hpp" #include "simgrid/s4u/Mailbox.hpp" #include "src/instr/instr_smpi.hpp" #include "xbt/synchro.h" @@ -27,23 +28,24 @@ class Process { MPI_Comm comm_intra_ = MPI_COMM_NULL; MPI_Comm* comm_world_ = nullptr; void* data_ = nullptr; /* user data */ - int index_ = MPI_UNDEFINED; char state_; int sampling_ = 0; /* inside an SMPI_SAMPLE_ block? */ - char* instance_id_ = nullptr; + std::string instance_id_; bool replaying_ = false; /* is the process replaying a trace */ msg_bar_t finalization_barrier_; int return_value_ = 0; smpi_trace_call_location_t trace_call_loc_; - smx_actor_t process_ = nullptr; + simgrid::s4u::ActorPtr process_ = nullptr; + smpi_privatization_region_t privatized_region_; #if HAVE_PAPI /** Contains hardware data as read by PAPI **/ int papi_event_set_; papi_counter_t papi_counter_data_; #endif public: - explicit Process(int index, msg_bar_t barrier); - void set_data(int index, int* argc, char*** argv); + explicit Process(simgrid::s4u::ActorPtr actor, msg_bar_t barrier); + ~Process(); + void set_data(int* argc, char*** argv); void finalize(); int finalized(); int initialized(); @@ -53,8 +55,8 @@ class Process { void set_user_data(void *data); void *get_user_data(); smpi_trace_call_location_t* call_location(); - int index(); - MPI_Comm comm_world(); + void set_privatized_region(smpi_privatization_region_t region); + smpi_privatization_region_t privatized_region(); smx_mailbox_t mailbox(); smx_mailbox_t mailbox_small(); xbt_mutex_t mailboxes_mutex(); @@ -65,6 +67,7 @@ class Process { xbt_os_timer_t timer(); void simulated_start(); double simulated_elapsed(); + MPI_Comm comm_world(); MPI_Comm comm_self(); MPI_Comm comm_intra(); void set_comm_intra(MPI_Comm comm); @@ -74,7 +77,7 @@ class Process { int return_value(); void set_return_value(int val); static void init(int *argc, char ***argv); - smx_actor_t process(); + simgrid::s4u::ActorPtr process(); };