Skip to content
Snippets Groups Projects
Commit 304e0999 authored by Markus Blatt's avatar Markus Blatt
Browse files

[release] Improved documentation of the parallel section.

VariableSizeCommunicator now appears in doxyen and the parallel
index sets are a subsection of the parallel section.
parent fb0572b2
No related branches found
No related tags found
No related merge requests found
......@@ -18,9 +18,12 @@
/*! \defgroup ParallelCommunication Parallel Communication
\ingroup Common
\brief Abstractions for paralle computing
Dune offers an abstraction to the basic methods of parallel
communication. It allows to switch parallel features on and off,
without changing the code.
without changing the code. This is done using either CollectiveCommunication
or MPICollectiveCommunication.
*/
......
......@@ -16,8 +16,8 @@
namespace Dune
{
/** @defgroup Common_Parallel Communication for distributed computing
* @ingroup Common
/** @defgroup Common_Parallel Parallel Computing based on Indexsets
* @ingroup ParallelCommunication
* @brief Provides classes for syncing distributed indexed
* data structures.
*
......@@ -75,9 +75,13 @@ namespace Dune
*
* Based on the information about the distributed index sets, data
* independent interfaces between different sets of the index sets
* can be setup using the class Interface. For the actual communication it
* data dependant communicators can be setup using BufferedCommunicator or
* DatatypeCommunicator.
* can be setup using the class Interface. For the actual communication
* data dependant communicators can be setup using BufferedCommunicator,
* DatatypeCommunicator VariableSizeCommunicator based on the interface
* information. In contrast to the former
* the latter is independant of the class Interface can work on a map
* from process number to a pair of index lists describing which local indices
* are send and received from that processs, respectively.
*/
/** @addtogroup Common_Parallel
*
......
......@@ -13,6 +13,18 @@
#include "interface.hh"
#include "mpitraits.hh"
/**
* @addtogroup Common_Parallel
*
* @{
*/
/**
* @file
* @brief A communicator that only needs to know the number of elements per
* index at the sender side.
* @author Markus Blatt
* @}
*/
namespace Dune
{
......@@ -252,6 +264,11 @@ private:
} // end unnamed namespace
/**
* @addtogroup Common_Parallel
*
* @{
*/
/**
* @brief A buffered communicator where the amount of data sent does not have to be known a priori.
*
......@@ -355,8 +372,10 @@ public:
* // get the number of data items for an entry with index i
* std::size_t size(std::size_t i);
* // gather the data at index i
* void gather(MessageBuffer buf, std::size_t i);
* template<class MessageBuffer>
* void gather(MessageBuffer& buf, std::size_t i);
* // scatter the n data items to index i
* template<class MessageBuffer>
* void scatter(MessageBuffer& buf, std::size_t i, std::size_t n);
* \endcode
* @param handle A handle responsible for describing the data, gathering, and scattering it.
......@@ -378,8 +397,10 @@ public:
* // get the number of data items for an entry with index i
* std::size_t size(std::size_t i);
* // gather the data at index i
* void gather(MessageBuffer buf, std::size_t i);
* template<class MessageBuffer>
* void gather(MessageBuffer& buf, std::size_t i);
* // scatter the n data items to index i
* template<class MessageBuffer>
* void scatter(MessageBuffer& buf, std::size_t i, std::size_t n);
* \endcode
* @param handle A handle responsible for describing the data, gathering, and scattering it.
......@@ -457,6 +478,7 @@ private:
MPI_Comm communicator_;
};
/** @} */
namespace
{
/**
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment