소스 검색

mpi: free allocated memory

Nathalie Furmento 12 년 전
부모
커밋
528c4fa1b9
6개의 변경된 파일22개의 추가작업 그리고 2개의 파일을 삭제
  1. 12 1
      mpi/examples/stencil/stencil5.c
  2. 1 0
      mpi/tests/insert_task_owner2.c
  3. 2 0
      mpi/tests/mpi_irecv.c
  4. 2 0
      mpi/tests/mpi_isend.c
  5. 2 1
      mpi/tests/mpi_probe.c
  6. 3 0
      mpi/tests/mpi_test.c

+ 12 - 1
mpi/examples/stencil/stencil5.c

@@ -1,6 +1,6 @@
 /* StarPU --- Runtime system for heterogeneous multicore architectures.
  *
- * Copyright (C) 2011, 2012  Centre National de la Recherche Scientifique
+ * Copyright (C) 2011, 2012, 2013  Centre National de la Recherche Scientifique
  *
  * StarPU is free software; you can redistribute it and/or modify
  * it under the terms of the GNU Lesser General Public License as published by
@@ -144,6 +144,17 @@ int main(int argc, char **argv)
 	fprintf(stderr, "Waiting ...\n");
 	starpu_task_wait_for_all();
 
+	for(x = 0; x < X; x++)
+	{
+		for (y = 0; y < Y; y++)
+		{
+			if (data_handles[x][y])
+			{
+				starpu_data_unregister(data_handles[x][y]);
+			}
+		}
+	}
+
 	starpu_mpi_shutdown();
 	starpu_shutdown();
 

+ 1 - 0
mpi/tests/insert_task_owner2.c

@@ -116,6 +116,7 @@ int main(int argc, char **argv)
         FPRINTF(stderr, "[%d][local ptr] VALUES: %d %d %d %d\n", rank, values[0], values[1], values[2], values[3]);
         FPRINTF(stderr, "[%d][end] VALUES: %d %d %d %d\n", rank, x[0], x[1], x[2], y);
 
+	free(values);
 	starpu_mpi_shutdown();
 	starpu_shutdown();
 

+ 2 - 0
mpi/tests/mpi_irecv.c

@@ -74,6 +74,8 @@ int main(int argc, char **argv)
 	}
 
 	starpu_data_unregister(tab_handle);
+	free(tab);
+
 	starpu_mpi_shutdown();
 	starpu_shutdown();
 

+ 2 - 0
mpi/tests/mpi_isend.c

@@ -75,6 +75,8 @@ int main(int argc, char **argv)
 	}
 
 	starpu_data_unregister(tab_handle);
+	free(tab);
+
 	starpu_mpi_shutdown();
 	starpu_shutdown();
 

+ 2 - 1
mpi/tests/mpi_probe.c

@@ -66,7 +66,6 @@ int main(int argc, char **argv)
 	STARPU_CHECK_RETURN_VALUE(ret, "starpu_mpi_init");
 
 	tab = malloc(SIZE*sizeof(float));
-
 	starpu_vector_data_register(&tab_handle, 0, (uintptr_t)tab, SIZE, sizeof(float));
 
 	int nloops = NITER;
@@ -92,6 +91,8 @@ int main(int argc, char **argv)
 	}
 
 	starpu_data_unregister(tab_handle);
+	free(tab);
+
 	starpu_mpi_shutdown();
 	starpu_shutdown();
 

+ 3 - 0
mpi/tests/mpi_test.c

@@ -81,6 +81,9 @@ int main(int argc, char **argv)
 		while (!finished);
 	}
 
+	starpu_data_unregister(tab_handle);
+	free(tab);
+
 	starpu_mpi_shutdown();
 	starpu_shutdown();