Browse Source

backport branches/starpu-1.1@13975: mpi/tests/insert_task_count.c: test STARPU_SSYNC

Nathalie Furmento 10 years ago
parent
commit
909e2961f2
2 changed files with 20 additions and 14 deletions
  1. 10 10
      mpi/src/starpu_mpi.c
  2. 10 4
      mpi/tests/insert_task_count.c

+ 10 - 10
mpi/src/starpu_mpi.c

@@ -177,16 +177,16 @@ static void _starpu_mpi_request_init(struct _starpu_mpi_req **req)
 
 
 	 _STARPU_MPI_TRACE_ISEND_SUBMIT_BEGIN(req->srcdst, req->mpi_tag, 0);
 	 _STARPU_MPI_TRACE_ISEND_SUBMIT_BEGIN(req->srcdst, req->mpi_tag, 0);
 
 
-	if (req->sync == 0)
-	{
-		req->ret = MPI_Isend(req->ptr, req->count, req->datatype, req->srcdst, _starpu_mpi_tag, req->comm, &req->request);
-		STARPU_ASSERT_MSG(req->ret == MPI_SUCCESS, "MPI_Isend returning %d", req->ret);
-	}
-	else
-	{
-		req->ret = MPI_Issend(req->ptr, req->count, req->datatype, req->srcdst, _starpu_mpi_tag, req->comm, &req->request);
-		STARPU_ASSERT_MSG(req->ret == MPI_SUCCESS, "MPI_Issend returning %d", req->ret);
-	}
+	 if (req->sync == 0)
+	 {
+		 req->ret = MPI_Isend(req->ptr, req->count, req->datatype, req->srcdst, _starpu_mpi_tag, req->comm, &req->request);
+		 STARPU_ASSERT_MSG(req->ret == MPI_SUCCESS, "MPI_Isend returning %d", req->ret);
+	 }
+	 else
+	 {
+		 req->ret = MPI_Issend(req->ptr, req->count, req->datatype, req->srcdst, _starpu_mpi_tag, req->comm, &req->request);
+		 STARPU_ASSERT_MSG(req->ret == MPI_SUCCESS, "MPI_Issend returning %d", req->ret);
+	 }
 
 
 	 _STARPU_MPI_TRACE_ISEND_SUBMIT_END(req->srcdst, req->mpi_tag, 0);
 	 _STARPU_MPI_TRACE_ISEND_SUBMIT_END(req->srcdst, req->mpi_tag, 0);
 
 

+ 10 - 4
mpi/tests/insert_task_count.c

@@ -81,10 +81,16 @@ int main(int argc, char **argv)
 
 
 	for (loop = 0; loop < nloops; loop++)
 	for (loop = 0; loop < nloops; loop++)
 	{
 	{
-		starpu_mpi_insert_task(MPI_COMM_WORLD, &increment_cl,
-				       STARPU_RW, token_handle,
-				       STARPU_EXECUTE_ON_NODE, 0,
-				       0);
+		if (loop % 2)
+			starpu_mpi_insert_task(MPI_COMM_WORLD, &increment_cl,
+					       STARPU_RW|STARPU_SSYNC, token_handle,
+					       STARPU_EXECUTE_ON_NODE, 0,
+					       0);
+		else
+			starpu_mpi_insert_task(MPI_COMM_WORLD, &increment_cl,
+					       STARPU_RW, token_handle,
+					       STARPU_EXECUTE_ON_NODE, 0,
+					       0);
 	}
 	}
 
 
 	starpu_task_wait_for_all();
 	starpu_task_wait_for_all();