瀏覽代碼

Fix blocking situation when MPI wait for all. ft service requests are still pending (for possible CP discard), while we may want to call mpi_wait_for_all.
Fix 2

Romain LION 4 年之前
父節點
當前提交
3548bc773c
共有 1 個文件被更改,包括 1 次插入1 次删除
  1. 1 1
      mpi/src/mpi/starpu_mpi_mpi.c

+ 1 - 1
mpi/src/mpi/starpu_mpi_mpi.c

@@ -1291,13 +1291,13 @@ static void *_starpu_mpi_progress_thread_func(void *arg)
 #endif
 		/* shall we block ? */
 		unsigned block = _starpu_mpi_req_list_empty(&ready_recv_requests) && _starpu_mpi_req_prio_list_empty(&ready_send_requests) && _starpu_mpi_early_request_count() == 0 && _starpu_mpi_sync_data_count() == 0 && _starpu_mpi_req_list_empty(&detached_requests);
-#ifdef STARPU_USE_MPI_FT
 		if (block)
 		{
 			if (mpi_wait_for_all_running)
 				/* Tell mpi_barrier */
 				STARPU_PTHREAD_COND_SIGNAL(&barrier_cond);
 		}
+#ifdef STARPU_USE_MPI_FT
 		block = block && !starpu_mpi_ft_busy();
 #endif // STARPU_USE_MPI_FT
 		if (block)