From: Peter Munch Date: Fri, 30 Apr 2021 05:53:34 +0000 (+0200) Subject: Minor improvements in ConsensusAlgorithms docu X-Git-Tag: v9.3.0-rc1~159^2 X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=refs%2Fpull%2F12116%2Fhead;p=dealii.git Minor improvements in ConsensusAlgorithms docu --- 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)