From 908dc015492fef7f80218863819e272111a47122 Mon Sep 17 00:00:00 2001 From: Peter Munch Date: Fri, 30 Apr 2021 07:53:34 +0200 Subject: [PATCH] Minor improvements in ConsensusAlgorithms docu --- doc/doxygen/references.bib | 12 +++++++++++- include/deal.II/base/mpi_consensus_algorithms.h | 12 +++++------- .../base/mpi_consensus_algorithms.templates.h | 6 ++---- 3 files changed, 18 insertions(+), 12 deletions(-) diff --git a/doc/doxygen/references.bib b/doc/doxygen/references.bib index fc6b2b1bf9..fcd0d80dad 100644 --- a/doc/doxygen/references.bib +++ b/doc/doxygen/references.bib @@ -1133,7 +1133,6 @@ year = {2008}, urldate = {2021-02-08} } - @Article{AABB17, author = {R. Agelek and M. Anderson and W. Bangerth and W. L. Barth}, title = {On orienting edges of unstructured two- and three-dimensional meshes}, @@ -1141,3 +1140,14 @@ year = {2008}, year = 2017, volume = 44, pages = {5/1--22}} + +@article{hoefler2010scalable, + title={Scalable communication protocols for dynamic sparse data exchange}, + author={Hoefler, Torsten and Siebert, Christian and Lumsdaine, Andrew}, + journal={ACM Sigplan Notices}, + volume={45}, + number={5}, + pages={159--168}, + year={2010}, + publisher={ACM New York, NY, USA} +} diff --git a/include/deal.II/base/mpi_consensus_algorithms.h b/include/deal.II/base/mpi_consensus_algorithms.h index 456679db84..88d80431de 100644 --- a/include/deal.II/base/mpi_consensus_algorithms.h +++ b/include/deal.II/base/mpi_consensus_algorithms.h @@ -212,13 +212,11 @@ namespace Utilities * ConsensusAlgorithms::Interface base class, using only point-to-point * communications and a single IBarrier. * - * @note This class closely follows the paper Hoefler, Siebert, Lumsdaine - * "Scalable Communication Protocols for Dynamic Sparse Data - * Exchange". Since the algorithm shown there is not considering - * payloads, the algorithm has been modified here in such a way that - * synchronous sends (Issend) have been replaced by equivalent - * Isend/Irecv, where Irecv receives the answer to a request (with - * payload). + * @note This class closely follows @note hoefler2010scalable. Since the + * algorithm shown there is not considering payloads, the algorithm + * has been modified here in such a way that synchronous sends + * (Issend) have been replaced by equivalent Isend/Irecv, where + * Irecv receives the answer to a request (with payload). * * @tparam T1 The type of the elements of the vector to be sent. * @tparam T2 The type of the elements of the vector to be received. diff --git a/include/deal.II/base/mpi_consensus_algorithms.templates.h b/include/deal.II/base/mpi_consensus_algorithms.templates.h index 9aa85f54ef..4305ece58b 100644 --- a/include/deal.II/base/mpi_consensus_algorithms.templates.h +++ b/include/deal.II/base/mpi_consensus_algorithms.templates.h @@ -108,14 +108,12 @@ namespace Utilities start_communication(); // 2) answer requests and check if all requests of this process have - // been - // answered + // been answered while (!check_own_state()) answer_requests(); // 3) signal to all other processes that all requests of this process - // have - // been answered + // have been answered signal_finish(); // 4) nevertheless, this process has to keep on answering (potential) -- 2.39.5