From 15053e3334266b7c4d20cac6c03c10268a11e4a5 Mon Sep 17 00:00:00 2001 From: Arnaud Giersch Date: Thu, 3 Jun 2021 09:37:39 +0200 Subject: [PATCH] Improve debug messages and avoid calling finish_comms twice when for myself. --- src/smpi/mpi/smpi_win.cpp | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/src/smpi/mpi/smpi_win.cpp b/src/smpi/mpi/smpi_win.cpp index e63c5a8798..ed019ed661 100644 --- a/src/smpi/mpi/smpi_win.cpp +++ b/src/smpi/mpi/smpi_win.cpp @@ -571,33 +571,36 @@ int Win::unlock_all(){ } int Win::flush(int rank){ - MPI_Win target_win = connected_wins_[rank]; - int finished = finish_comms(rank); - XBT_DEBUG("Win_flush on local %d - Finished %d RMA calls", rank, finished); - finished = target_win->finish_comms(rank_); - XBT_DEBUG("Win_flush on remote %d - Finished %d RMA calls", rank, finished); + int finished = finish_comms(rank); + XBT_DEBUG("Win_flush on local %d for remote %d - Finished %d RMA calls", rank_, rank, finished); + if (rank != rank_) { + finished = connected_wins_[rank]->finish_comms(rank_); + XBT_DEBUG("Win_flush on remote %d for local %d - Finished %d RMA calls", rank, rank_, finished); + } return MPI_SUCCESS; } int Win::flush_local(int rank){ int finished = finish_comms(rank); - XBT_DEBUG("Win_flush_local for rank %d - Finished %d RMA calls", rank, finished); + XBT_DEBUG("Win_flush_local on local %d for remote %d - Finished %d RMA calls", rank_, rank, finished); return MPI_SUCCESS; } int Win::flush_all(){ int finished = finish_comms(); - XBT_DEBUG("Win_flush_all on local - Finished %d RMA calls", finished); + XBT_DEBUG("Win_flush_all on local %d - Finished %d RMA calls", rank_, finished); for (int i = 0; i < comm_->size(); i++) { - finished = connected_wins_[i]->finish_comms(rank_); - XBT_DEBUG("Win_flush_all on %d - Finished %d RMA calls", i, finished); + if (i != rank_) { + finished = connected_wins_[i]->finish_comms(rank_); + XBT_DEBUG("Win_flush_all on remote %d for local %d - Finished %d RMA calls", i, rank_, finished); + } } return MPI_SUCCESS; } int Win::flush_local_all(){ int finished = finish_comms(); - XBT_DEBUG("Win_flush_local_all - Finished %d RMA calls", finished); + XBT_DEBUG("Win_flush_local_all on local %d - Finished %d RMA calls", rank_, finished); return MPI_SUCCESS; } -- 2.20.1