Просмотр исходного кода

src: advise not to call starpu_data_set_rank and starpu_data_set_tag but starpu_mpi_data_register (not yet committed)

Nathalie Furmento лет назад: 11
Родитель
Сommit
d60dbc4cf1

+ 14 - 2
src/datawizard/interfaces/data_interface.c

@@ -393,12 +393,18 @@ int starpu_data_get_rank(starpu_data_handle_t handle)
 	return handle->rank;
 }
 
-int starpu_data_set_rank(starpu_data_handle_t handle, int rank)
+int _starpu_data_set_rank(starpu_data_handle_t handle, int rank)
 {
 	handle->rank = rank;
 	return 0;
 }
 
+int starpu_data_set_rank(starpu_data_handle_t handle, int rank)
+{
+	_STARPU_DISP("Warning: You should call starpu_mpi_data_register which will insure MPI cache will be cleared when unregistering the data\n");
+	return _starpu_data_set_rank(handle, rank);
+}
+
 int starpu_data_get_tag(starpu_data_handle_t handle)
 {
 	return handle->tag;
@@ -422,7 +428,7 @@ starpu_data_handle_t _starpu_data_get_data_handle_from_tag(int tag)
 	}
 }
 
-int starpu_data_set_tag(starpu_data_handle_t handle, int tag)
+int _starpu_data_set_tag(starpu_data_handle_t handle, int tag)
 {
 	struct handle_tag_entry *entry;
 	entry = (struct handle_tag_entry *) malloc(sizeof(*entry));
@@ -442,6 +448,12 @@ int starpu_data_set_tag(starpu_data_handle_t handle, int tag)
 	return 0;
 }
 
+int starpu_data_set_tag(starpu_data_handle_t handle, int tag)
+{
+	_STARPU_DISP("Warning: You should call starpu_mpi_data_register which will insure MPI cache will be cleared when unregistering the data\n");
+	return _starpu_data_set_tag(handle, tag);
+}
+
 static
 int _starpu_data_release_tag(starpu_data_handle_t handle)
 {

+ 3 - 0
src/datawizard/interfaces/data_interface.h

@@ -66,4 +66,7 @@ extern void _starpu_data_register_ram_pointer(starpu_data_handle_t handle,
 extern int _starpu_data_is_multiformat_handle(starpu_data_handle_t handle);
 extern starpu_data_handle_t _starpu_data_get_data_handle_from_tag(int tag);
 
+extern int _starpu_data_set_rank(starpu_data_handle_t handle, int rank);
+extern int _starpu_data_set_tag(starpu_data_handle_t handle, int tag);
+
 #endif // __DATA_INTERFACE_H__