Преглед изворни кода

new functions starpu_data_set_tag and starpu_data_get_tag to be used by StarPU-MPI

Nathalie Furmento пре 14 година
родитељ
комит
54ab8e7b09
3 измењених фајлова са 16 додато и 0 уклоњено
  1. 3 0
      include/starpu_data.h
  2. 1 0
      src/datawizard/coherency.h
  3. 12 0
      src/datawizard/interfaces/data_interface.c

+ 3 - 0
include/starpu_data.h

@@ -98,6 +98,9 @@ void starpu_data_set_reduction_methods(starpu_data_handle handle,
 int starpu_data_set_rank(starpu_data_handle handle, int rank);
 int starpu_data_get_rank(starpu_data_handle handle);
 
+int starpu_data_set_tag(starpu_data_handle handle, int tag);
+int starpu_data_get_tag(starpu_data_handle handle);
+
 #ifdef __cplusplus
 }
 #endif

+ 1 - 0
src/datawizard/coherency.h

@@ -189,6 +189,7 @@ struct starpu_data_state_t {
 
         /* Used for MPI */
         int rank;
+	int tag;
 };
 
 void _starpu_display_msi_stats(void);

+ 12 - 0
src/datawizard/interfaces/data_interface.c

@@ -115,6 +115,7 @@ static void _starpu_register_new_data(starpu_data_handle handle,
 	handle->sibling_index = 0; /* could be anything for the root */
 	handle->depth = 1; /* the tree is just a node yet */
         handle->rank = -1; /* invalid until set */
+	handle->tag = -1; /* invalid until set */
 
 	handle->is_not_important = 0;
 
@@ -299,6 +300,17 @@ int starpu_data_set_rank(starpu_data_handle handle, int rank)
         return 0;
 }
 
+int starpu_data_get_tag(starpu_data_handle handle)
+{
+	return handle->tag;
+}
+
+int starpu_data_set_tag(starpu_data_handle handle, int tag)
+{
+        handle->tag = tag;
+        return 0;
+}
+
 /* 
  * Stop monitoring a piece of data
  */