소스 검색

check return value for MPI_Barrier

Nathalie Furmento 8 년 전
부모
커밋
4d50924e35
2개의 변경된 파일6개의 추가작업 그리고 3개의 파일을 삭제
  1. 2 1
      mpi/tests/insert_task_compute.c
  2. 4 2
      src/drivers/mpi/driver_mpi_common.c

+ 2 - 1
mpi/tests/insert_task_compute.c

@@ -211,7 +211,8 @@ enodev:
 #endif
 
 nodata:
-	MPI_Barrier(MPI_COMM_WORLD);
+	int barrier_ret = MPI_Barrier(MPI_COMM_WORLD);
+	STARPU_ASSERT(barrier_ret == MPI_SUCCESS);
 	starpu_mpi_shutdown();
 	starpu_shutdown();
 

+ 4 - 2
src/drivers/mpi/driver_mpi_common.c

@@ -462,7 +462,8 @@ void _starpu_mpi_common_wait_event(struct _starpu_async_channel * event)
 
 void _starpu_mpi_common_barrier(void)
 {
-        MPI_Barrier(MPI_COMM_WORLD);
+        int ret = MPI_Barrier(MPI_COMM_WORLD);
+	STARPU_ASSERT_MSG(ret == MPI_SUCCESS, "MPI_Barrier failed");
 }
 
 /* Compute bandwidth and latency between source and sink nodes
@@ -490,7 +491,8 @@ void _starpu_mpi_common_measure_bandwidth_latency(double bandwidth_dtod[STARPU_M
                         if(sender == receiver)
                                 continue;
 
-                        MPI_Barrier(MPI_COMM_WORLD);
+                        ret = MPI_Barrier(MPI_COMM_WORLD);
+			STARPU_ASSERT_MSG(ret == MPI_SUCCESS, "MPI_Barrier failed");
 
                         if(id_proc == sender)
                         {