Man Linux: Main Page and Category List

NAME

       sc::MPIMessageGrp -

       The MPIMessageGrp class is an concrete implementation of MessageGrp
       that uses the MPI 1 library.

SYNOPSIS

       #include <messmpi.h>

       Inherits sc::MessageGrp.

   Public Member Functions
       MPIMessageGrp (MPI_Comm comm)
           Use an MPI communicator to create a MessageGrp.
       MPIMessageGrp (int *argc, char ***argv)
           Use argc and argv to create a MPIMessageGrp.
       MPIMessageGrp (const Ref< KeyVal > &)
           Construction MPIMessageGrp given a KeyVal input object.
       Ref< MessageGrp > clone (void)
           Clones (dups) an MPIMessageGrp from MPI_COMM_WORLD.
       void raw_send (int target, const void *data, int nbyte)
       void raw_recv (int sender, void *data, int nbyte)
       void raw_sendt (int target, int type, const void *data, int nbyte)
       void raw_recvt (int type, void *data, int nbyte)
       int probet (int type)
           Ask if a given typed message has been received.
       void sync ()
           Synchronize all of the processors.
       void sum (double *, int n, double *scratch=0, int target=-1)
           Global sum reduction.
       void sum (int *, int n, int *scratch=0, int target=-1)
       void reduce (double *, int n, GrpReduce< double > &, double *scratch=0,
           int target=-1)
           Global generic reduction.
       void reduce (unsigned int *, int n, GrpReduce< unsigned int > &,
           unsigned int *scratch=0, int target=-1)
       void reduce (int *, int n, GrpReduce< int > &, int *scratch=0, int
           target=-1)
       void reduce (char *, int n, GrpReduce< char > &, char *scratch=0, int
           target=-1)
       void reduce (unsigned char *, int n, GrpReduce< unsigned char > &,
           unsigned char *scratch=0, int target=-1)
       void reduce (signed char *, int n, GrpReduce< signed char > &, signed
           char *scratch=0, int target=-1)
       void reduce (short *, int n, GrpReduce< short > &, short *scratch=0,
           int target=-1)
       void reduce (float *, int n, GrpReduce< float > &, float *scratch=0,
           int target=-1)
       void reduce (long *, int n, GrpReduce< long > &, long *scratch=0, int
           target=-1)
       void raw_bcast (void *data, int nbyte, int from)

   Protected Member Functions
       void init (MPI_Comm comm, int *argc=0, char ***argv=0)
           Not thread-safe due to race condition on nmpi_grps variable.

   Protected Attributes
       void * buf
       int bufsize
       int rnode
       int rtag
       int rlen
       bool use_messagegrp_collectives_
           If true use the generic collective routines in the base class.
       Ref< ThreadGrp > threadgrp
       MPI_Comm commgrp
           Currently each commgrp is a dup of MPI_COMM_WORLD.

   Static Protected Attributes
       static int nmpi_grps
           Number of MPIMessageGrps currently in use.
       static Ref< ThreadLock > grplock
           lock to access nmpi_grps variable

Detailed Description

       The MPIMessageGrp class is an concrete implementation of MessageGrp
       that uses the MPI 1 library.

Constructor & Destructor Documentation

   sc::MPIMessageGrp::MPIMessageGrp (MPI_Comm comm)
       Use an MPI communicator to create a MessageGrp. The comm argument could
       be a subset of MPI_COMM_WORLD, for example.

   sc::MPIMessageGrp::MPIMessageGrp (int * argc, char *** argv)
       Use argc and argv to create a MPIMessageGrp. This would have to be used
       for implementations of MPI that have MPI_Init fill in argc and argv.

   sc::MPIMessageGrp::MPIMessageGrp (const Ref< KeyVal > &)
       Construction MPIMessageGrp given a KeyVal input object.

Member Function Documentation

   void sc::MPIMessageGrp::reduce (double *, int n, GrpReduce< double > &,
       double * scratch = 0, int target = -1) [virtual]
       Global generic reduction. Similar members exist for each of the basic
       types.

       Reimplemented from sc::MessageGrp.

   void sc::MPIMessageGrp::sum (double * data, int n, double * = 0, int target
       = -1) [virtual]
       Global sum reduction. Similar members exist for each of the basic
       types.

       Reimplemented from sc::MessageGrp.

Author

       Generated automatically by Doxygen for MPQC from the source code.