浏览代码

mpi/tests/user_defined_datatype.c: make sure tags are different for each iteration

Nathalie Furmento 12 年之前
父节点
当前提交
6cacff4980
共有 1 个文件被更改,包括 8 次插入8 次删除
  1. 8 8
      mpi/tests/user_defined_datatype.c

+ 8 - 8
mpi/tests/user_defined_datatype.c

@@ -24,36 +24,36 @@
 #  define ELEMENTS 1000
 #endif
 
-typedef void (*test_func)(starpu_data_handle_t *, int, int);
+typedef void (*test_func)(starpu_data_handle_t *, int, int, int);
 
-void test_handle_irecv_isend_detached(starpu_data_handle_t *handles, int nb_handles, int rank)
+void test_handle_irecv_isend_detached(starpu_data_handle_t *handles, int nb_handles, int rank, int tag)
 {
 	int i;
 
 	for(i=0 ; i<nb_handles ; i++)
 	{
 		starpu_data_set_rank(handles[i], 1);
-		starpu_data_set_tag(handles[i], i+100);
+		starpu_data_set_tag(handles[i], i+tag);
 	}
 
 	for(i=0 ; i<nb_handles ; i++)
 		starpu_mpi_get_data_on_node_detached(MPI_COMM_WORLD, handles[i], 0, NULL, NULL);
 }
 
-void test_handle_recv_send(starpu_data_handle_t *handles, int nb_handles, int rank)
+void test_handle_recv_send(starpu_data_handle_t *handles, int nb_handles, int rank, int tag)
 {
 	int i;
 
 	if (rank == 1)
 	{
 		for(i=0 ; i<nb_handles ; i++)
-			starpu_mpi_send(handles[i], 0, i+100, MPI_COMM_WORLD);
+			starpu_mpi_send(handles[i], 0, i+tag, MPI_COMM_WORLD);
 	}
 	else if (rank == 0)
 	{
 		MPI_Status statuses[nb_handles];
 		for(i=0 ; i<nb_handles ; i++)
-			starpu_mpi_recv(handles[i], 1, i+100, MPI_COMM_WORLD, &statuses[i]);
+			starpu_mpi_recv(handles[i], 1, i+tag, MPI_COMM_WORLD, &statuses[i]);
 	}
 }
 
@@ -126,8 +126,8 @@ int main(int argc, char **argv)
 				starpu_variable_data_register(&handle_vars[i], 0, (uintptr_t)&foo[i], sizeof(double));
 			}
 
-			f(handle_vars, ELEMENTS, rank);
-			f(handle_complex, ELEMENTS, rank);
+			f(handle_vars, ELEMENTS, rank, ELEMENTS);
+			f(handle_complex, ELEMENTS, rank, 4*ELEMENTS);
 
 			for(i=0 ; i<ELEMENTS ; i++)
 			{