Bladeren bron

mpi/tests/mpi_earlyrecv2.c: add testcase for void data

Nathalie Furmento 11 jaren geleden
bovenliggende
commit
a1182a54a2
1 gewijzigde bestanden met toevoegingen van 28 en 1 verwijderingen
  1. 28 1
      mpi/tests/mpi_earlyrecv2.c

+ 28 - 1
mpi/tests/mpi_earlyrecv2.c

@@ -140,6 +140,29 @@ int exchange_variable(int rank, int detached)
 	return ret;
 }
 
+void check_void(starpu_data_handle_t handle, int i, int rank, int *error)
+{
+}
+
+int exchange_void(int rank, int detached)
+{
+	int ret, i;
+	starpu_data_handle_t tab_handle[NB];
+
+	FPRINTF_MPI("Exchanging void data with detached=%d\n", detached);
+
+	for(i=0 ; i<NB ; i++)
+	{
+		starpu_void_data_register(&tab_handle[i]);
+		starpu_data_set_tag(tab_handle[i], i);
+	}
+	ret = exchange(rank, tab_handle, check_void, detached);
+	for(i=0 ; i<NB ; i++)
+		starpu_data_unregister(tab_handle[i]);
+
+	return ret;
+}
+
 void check_complex(starpu_data_handle_t handle, int i, int rank, int *error)
 {
 	double *real = starpu_complex_get_real(handle);
@@ -179,7 +202,7 @@ int exchange_complex(int rank, int detached)
 
 int main(int argc, char **argv)
 {
-	int ret, rank, size;
+	int ret=0, rank, size;
 
 	MPI_Init(NULL, NULL);
 	MPI_Comm_rank(MPI_COMM_WORLD, &rank);
@@ -203,6 +226,10 @@ int main(int argc, char **argv)
 	if (ret == 0)
 		ret = exchange_variable(rank, 1);
 	if (ret == 0)
+		ret = exchange_void(rank, 0);
+	if (ret == 0)
+		ret = exchange_void(rank, 1);
+	if (ret == 0)
 		ret = exchange_complex(rank, 0);
 	if (ret == 0)
 		ret = exchange_complex(rank, 1);