Browse Source

Make basic backup function.
DOn't checkpoint useless part of the matrix.

Romain LION 5 years ago
parent
commit
12f790bfa1
1 changed files with 3 additions and 7 deletions
  1. 3 7
      mpi/examples/matrix_decomposition/mpi_cholesky_codelets.c

+ 3 - 7
mpi/examples/matrix_decomposition/mpi_cholesky_codelets.c

@@ -85,11 +85,7 @@ starpu_mpi_checkpoint_template_t* checkpoint_p;
 
 int backup_function(int rank)
 {
-	if (rank==0)
-		return 1;
-	else
-		return 0;
-//	return (rank+1)%_nodes;
+	return (rank+1)%_nodes;
 }
 
 
@@ -150,7 +146,6 @@ static void run_cholesky(starpu_data_handle_t **data_handles, int rank, int node
 
 	starpu_mpi_checkpoint_template_add_entry(checkpoint_p, STARPU_VALUE, &k, sizeof(unsigned), nblocks*nblocks+10, backup_function);
 	starpu_mpi_checkpoint_template_freeze(checkpoint_p);
-	//_starpu_mpi_checkpoint_template_print(*checkpoint_p);
 
 	for (k = 0; k < nblocks; k++)
 	{
@@ -485,7 +480,8 @@ void dw_cholesky(float ***matA, unsigned ld, int rank, int nodes, double *timing
 			{
 				starpu_data_set_coordinates(data_handles[m][n], 2, n, m);
 				starpu_mpi_data_register(data_handles[m][n], (m*nblocks)+n, mpi_rank);
-				starpu_mpi_checkpoint_template_add_entry(checkpoint_p, STARPU_R, &data_handles[m][n], backup_function(mpi_rank));
+				if (m>=n)
+					starpu_mpi_checkpoint_template_add_entry(checkpoint_p, STARPU_R, &data_handles[m][n], backup_function(mpi_rank));
 			}
 		}
 	}