Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
First steps for implemtation of MPI Onesided Operations :
[simgrid.git] / src / smpi / smpi_global.c
index 0072cda..8e48139 100644 (file)
@@ -34,6 +34,7 @@ typedef struct s_smpi_process_data {
   char state;
   int sampling;                 /* inside an SMPI_SAMPLE_ block? */
   char* instance_id;
+  int nb_wins;
   xbt_bar_t finalization_barrier;
 } s_smpi_process_data_t;
 
@@ -102,6 +103,7 @@ void smpi_process_init(int *argc, char ***argv)
     (*argc)-=2;
     data->argc = argc;
     data->argv = argv;
+    data->nb_wins=0;
     // set the process attached to the mailbox
     simcall_rdv_set_receiver(data->mailbox_small, proc);
     XBT_DEBUG("<%d> New process in the game: %p", index, proc);
@@ -203,6 +205,20 @@ void *smpi_process_get_user_data()
   return process_data->data;
 }
 
+
+int smpi_process_get_win_id()
+{
+  smpi_process_data_t process_data = smpi_process_data();
+  return process_data->nb_wins;
+}
+
+void smpi_process_set_win_id(int id)
+{
+  smpi_process_data_t process_data = smpi_process_data();
+  process_data->nb_wins = id;
+}
+
+
 int smpi_process_count(void)
 {
   return process_count;
@@ -481,6 +497,7 @@ static void smpi_init_logs(){
   XBT_LOG_CONNECT(smpi_mpi_dt);
   XBT_LOG_CONNECT(smpi_pmpi);
   XBT_LOG_CONNECT(smpi_replay);
+  XBT_LOG_CONNECT(smpi_rma);
 
 }