X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/d20f024dba9ff1e9c8822237caaf963b9e913889..f968cbbb699423fa252994ff42de77f8671ac7eb:/src/smpi/include/smpi_process.hpp diff --git a/src/smpi/include/smpi_process.hpp b/src/smpi/include/smpi_process.hpp index 0e480b0105..e7c6772adc 100644 --- a/src/smpi/include/smpi_process.hpp +++ b/src/smpi/include/smpi_process.hpp @@ -1,4 +1,4 @@ -/* Copyright (c) 2009-2010, 2012-2017. The SimGrid Team. +/* Copyright (c) 2009-2018. The SimGrid Team. * All rights reserved. */ /* This program is free software; you can redistribute it and/or modify it @@ -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_; + SmpiProcessState 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 actor_ = nullptr; + smpi_privatization_region_t privatized_region_; + int optind=0; /*for getopt replacement */ #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,16 +67,16 @@ 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); void set_sampling(int s); int sampling(); - msg_bar_t finalization_barrier(); - int return_value(); - void set_return_value(int val); static void init(int *argc, char ***argv); - smx_actor_t process(); + simgrid::s4u::ActorPtr get_actor(); + int get_optind(); + void set_optind(int optind); };