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

mpi/tests: unregister data and free memory

Nathalie Furmento пре 12 година
родитељ
комит
33e0ab467c

+ 6 - 0
mpi/tests/block_interface_pinned.c

@@ -132,6 +132,12 @@ int main(int argc, char **argv)
 
 	}
 
+	if (rank == 0 || rank == 1)
+	{
+	     starpu_data_unregister(block_handle);
+	     starpu_free(block);
+	}
+
 	FPRINTF(stdout, "Rank %d is done\n", rank);
 	fflush(stdout);
 

+ 1 - 1
mpi/tests/insert_task_cache.c

@@ -101,10 +101,10 @@ void test_cache(int rank, int size, int enabled, size_t *comm_amount)
 		starpu_data_unregister(data_handles[i]);
         }
 
-	free(string);
 	starpu_mpi_comm_amounts_retrieve(comm_amount);
 	starpu_mpi_shutdown();
 	starpu_shutdown();
+	free(string);
 }
 
 int main(int argc, char **argv)

+ 6 - 3
mpi/tests/insert_task_owner.c

@@ -84,6 +84,8 @@ int main(int argc, char **argv)
 	MPI_Comm_rank(MPI_COMM_WORLD, &rank);
 	MPI_Comm_size(MPI_COMM_WORLD, &size);
 
+	if (rank != 0 && rank != 1) goto end;
+
         if (rank == 0)
 	{
                 starpu_variable_data_register(&data_handlesx0, 0, (uintptr_t)&x0, sizeof(x0));
@@ -103,8 +105,6 @@ int main(int argc, char **argv)
 		starpu_data_set_tag(data_handlesx0, 0);
         }
 
-	if (rank != 0 && rank != 1) goto end;
-
 	node = starpu_data_get_rank(data_handlesx1);
         err = starpu_mpi_insert_task(MPI_COMM_WORLD, &mycodelet_r_w,
 				     STARPU_VALUE, &node, sizeof(node),
@@ -166,9 +166,12 @@ int main(int argc, char **argv)
 				     0);
         assert(err == 0);
 
-end:
 	fprintf(stderr, "Waiting ...\n");
         starpu_task_wait_for_all();
+	starpu_data_unregister(data_handlesx0);
+	starpu_data_unregister(data_handlesx1);
+
+end:
 	starpu_mpi_shutdown();
 	starpu_shutdown();
 

+ 3 - 0
mpi/tests/insert_task_owner_data.c

@@ -93,6 +93,9 @@ int main(int argc, char **argv)
 	if (rank == 0 && (values[0] != 12 || values[1] != 144))
 		ret = EXIT_FAILURE;
 
+	starpu_data_unregister(data_handles[0]);
+	starpu_data_unregister(data_handles[1]);
+
 	starpu_mpi_shutdown();
 	starpu_shutdown();