Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Cosmetics: uncapitalize.
[simgrid.git] / src / smpi / smpi_global.c
index 842b659..bfd7ba1 100644 (file)
@@ -30,6 +30,7 @@ typedef struct s_smpi_process_data {
   void *data;                   /* user data */
   int index;
   int initialized;
+  int sampling;                 /* inside an SMPI_SAMPLE_ block? */
 } s_smpi_process_data_t;
 
 static smpi_process_data_t *process_data = NULL;
@@ -253,6 +254,18 @@ MPI_Comm smpi_process_comm_self(void)
   return data->comm_self;
 }
 
+void smpi_process_set_sampling(int s)
+{
+  smpi_process_data_t data = smpi_process_data();
+  data->sampling = s;
+}
+
+int smpi_process_get_sampling(void)
+{
+  smpi_process_data_t data = smpi_process_data();
+  return data->sampling;
+}
+
 void print_request(const char *message, MPI_Request request)
 {
   XBT_DEBUG
@@ -261,7 +274,7 @@ void print_request(const char *message, MPI_Request request)
        request->dst, request->tag, request->flags);
 }
 
-static void SMPI_comm_copy_buffer_callback(smx_action_t comm,
+static void smpi_comm_copy_buffer_callback(smx_action_t comm,
                                            void *buff, size_t buff_size)
 {
   XBT_DEBUG("Copy the data over");
@@ -284,7 +297,7 @@ void smpi_global_init(void)
   MPI_Group group;
   char name[MAILBOX_NAME_MAXLEN];
 
-  SIMIX_comm_set_copy_data_callback(&SMPI_comm_copy_buffer_callback);
+  SIMIX_comm_set_copy_data_callback(&smpi_comm_copy_buffer_callback);
   process_count = SIMIX_process_count();
   process_data = xbt_new(smpi_process_data_t, process_count);
   for (i = 0; i < process_count; i++) {
@@ -301,6 +314,7 @@ void smpi_global_init(void)
     group = smpi_group_new(1);
     process_data[i]->comm_self = smpi_comm_new(group);
     process_data[i]->initialized = 0;
+    process_data[i]->sampling = 0;
 
     smpi_group_set_mapping(group, i, 0);
   }