Precised group MPI instead of group Parallel for Mpi classes in documentation.

This commit is contained in:
Benjamin Bouvier 2012-07-13 15:50:51 +02:00
commit ad74755d8e
6 changed files with 36 additions and 9 deletions

View file

@ -137,6 +137,8 @@ namespace eo
* These tags are used for framework communication and fits "channels", so as to differentiate when we're
* sending an order to a worker (Commands) or data (Messages). They are not reserved by the framework and can be
* used by the user, but he is not bound to.
*
* @ingroup MPI
*/
namespace Channel
{
@ -149,6 +151,8 @@ namespace eo
*
* These orders are sent by the master to the workers, to indicate to them if they should receive another task
* to do (Continue), if an one shot job is done (Finish) or if a multi job is done (Kill).
*
* @ingroup MPI
*/
namespace Message
{
@ -159,6 +163,8 @@ namespace eo
/**
* @brief If the job only has one master, the user can use this constant, so as not to worry with integer ids.
*
* @ingroup MPI
*/
const int DEFAULT_MASTER = 0;
@ -204,6 +210,8 @@ namespace eo
* };
* @endcode
* This makes the code easier to write for the user.
*
* @ingroup MPI
*/
template< typename JobData, typename Wrapped >
struct SharedDataFunction
@ -277,6 +285,8 @@ namespace eo
*
* This is a functor implementing void operator()(int), and also a shared data function, containing wrapper on its
* own type.
*
* @ingroup MPI
*/
template< typename JobData >
struct SendTaskFunction : public eoUF<int, void>, public SharedDataFunction< JobData, SendTaskFunction<JobData> >
@ -300,6 +310,8 @@ namespace eo
*
* This is a functor implementing void operator()(int), and also a shared data function, containing wrapper on
* its own type.
*
* @ingroup MPI
*/
template< typename JobData >
struct HandleResponseFunction : public eoUF<int, void>, public SharedDataFunction< JobData, HandleResponseFunction<JobData> >
@ -325,6 +337,8 @@ namespace eo
*
* This is a functor implementing void operator()(), and also a shared data function, containing wrapper on its
* own type.
*
* @ingroup MPI
*/
template< typename JobData >
struct ProcessTaskFunction : public eoF<void>, public SharedDataFunction< JobData, ProcessTaskFunction<JobData> >
@ -348,6 +362,8 @@ namespace eo
*
* This is a functor implementing bool operator()(), and also a shared function, containing wrapper on its own
* type.
*
* @ingroup MPI
*/
template< typename JobData >
struct IsFinishedFunction : public eoF<bool>, public SharedDataFunction< JobData, IsFinishedFunction<JobData> >
@ -377,6 +393,8 @@ namespace eo
* The user has to implement data(), which is the getter for retrieving JobData. We don't have any idea of who
* owns the data, moreover it is impossible to initialize it in this generic JobStore, as we don't know its
* form. As a matter of fact, the user has to define this in the JobStore subclasses.
*
* @ingroup MPI
*/
template< typename JobData >
struct JobStore
@ -501,6 +519,8 @@ namespace eo
*
* Any of the 3 master functors can launch exception, it will be catched and rethrown as a std::runtime_exception
* to the higher layers.
*
* @ingroup MPI
*/
template< class JobData >
class Job
@ -755,6 +775,8 @@ namespace eo
* times. The job will be terminated on both sides (master and worker) once the master would have said it.
*
* It uses the message Message::Finish as the termination message.
*
* @ingroup MPI
*/
template< class JobData >
class OneShotJob : public Job< JobData >
@ -780,6 +802,8 @@ namespace eo
* It uses the message Message::Kill as the termination message. This message can be launched with an EmptyJob,
* launched only by the master. If no Message::Kill is sent on the Channels::Commands, the worker will wait
* forever, which will cause a deadlock.
*
* @ingroup MPI
*/
template< class JobData >
class MultiJob : public Job< JobData >

View file

@ -32,6 +32,8 @@ namespace eo
/**
* @brief Constant indicating to use all the resting available workers, in assignment algorithms constructor
* using an interval.
*
* @ingroup MPI
*/
const int REST_OF_THE_WORLD = -1;
@ -42,7 +44,7 @@ namespace eo
* from the state "available" to the state "busy", and the master has to wait for their response for considering
* them available again.
*
* @ingroup Parallel
* @ingroup MPI
*/
struct AssignmentAlgorithm
{
@ -104,7 +106,7 @@ namespace eo
* This kind of assignment is adapted for tasks whose execution time is stochastic or unknown, but without any
* warranty to be faster than other assignments.
*
* @ingroup Parallel
* @ingroup MPI
*/
struct DynamicAssignmentAlgorithm : public AssignmentAlgorithm
{
@ -210,7 +212,7 @@ namespace eo
* duration of processing task will be the same for each run. There is no warranty that this algorithm is more
* or less efficient that another one. When having a doubt, use DynamicAssignmentAlgorithm.
*
* @ingroup Parallel
* @ingroup MPI
*/
struct StaticAssignmentAlgorithm : public AssignmentAlgorithm
{

View file

@ -35,7 +35,7 @@ namespace eo
* boost::mpi::communicator is the main object used to send and receive messages between the different hosts of
* a MPI algorithm.
*
* @ingroup Parallel
* @ingroup MPI
*/
class Node
{

View file

@ -78,7 +78,7 @@ namespace eo
* this rank has evaluated. Without this map, when receiving results from a worker, the master couldn't be
* able to replace the right elements in the table.
*
* @ingroup Parallel
* @ingroup MPI
*/
template<class EOT>
struct ParallelApplyData
@ -272,7 +272,7 @@ namespace eo
* User can tune functors when constructing the object. For each functor which is not given, a default one is
* generated.
*
* @ingroup Parallel
* @ingroup MPI
*/
template< class EOT >
struct ParallelApplyStore : public JobStore< ParallelApplyData<EOT> >
@ -357,7 +357,7 @@ namespace eo
* A typedef wouldn't have been working, as typedef on templates don't work in C++. Traits would be a
* disgraceful overload for the user.
*
* @ingroup Parallel
* @ingroup MPI
* @see eoParallelApply.h
*/
template< typename EOT >

View file

@ -29,7 +29,7 @@ namespace eo
namespace mpi
{
/**
* @ingroup Parallel
* @ingroup MPI
* @{
*/

View file

@ -24,6 +24,7 @@ Authors:
# include <iostream> // ostream
/**
* @brief Contains all the necessary entities to serialize eo objects into JSON objects.
*
@ -36,7 +37,7 @@ Authors:
*
* @ingroup Utilities
* @defgroup Serialization Serialization helpers
*/
**/
namespace eoserial
{