Ver código fonte

mpi: move call starpu_task_wait_for_all at the end of the function starpu_mpi_redux_data

Nathalie Furmento 12 anos atrás
pai
commit
90d4407ab5
2 arquivos alterados com 7 adições e 4 exclusões
  1. 7 0
      mpi/src/starpu_mpi_insert_task.c
  2. 0 4
      mpi/tests/mpi_reduction.c

+ 7 - 0
mpi/src/starpu_mpi_insert_task.c

@@ -877,4 +877,11 @@ void starpu_mpi_redux_data(MPI_Comm comm, starpu_data_handle_t data_handle)
 		starpu_mpi_isend_detached(data_handle, rank, tag, comm, NULL, NULL);
 		starpu_insert_task(data_handle->init_cl, STARPU_W, data_handle, 0);
 	}
+	/* FIXME: In order to prevent simultaneous receive submissions
+	 * on the same handle, we need to wait that all the starpu_mpi
+	 * tasks are done before submitting next tasks. The current
+	 * version of the implementation does not support multiple
+	 * simultaneous receive requests on the same handle.*/
+	starpu_task_wait_for_all();
+
 }

+ 0 - 4
mpi/tests/mpi_reduction.c

@@ -143,10 +143,6 @@ int main(int argc, char **argv)
 					       0);
 		}
 		starpu_mpi_redux_data(MPI_COMM_WORLD, dot_handle);
-		/* In order to prevent simultaneous receive submissions on the same handle, we need 
-		 * to wait that all the starpu_mpi tasks are done before submitting the display task.
-		 * Indeed, StarPU do not support multiple simultaneous receive requests on a handle.*/
-		starpu_task_wait_for_all();
 		starpu_mpi_insert_task(MPI_COMM_WORLD, &display_codelet, STARPU_R, dot_handle, 0);
 	}