sc::MPIMessageGrp(3) | MPQC | sc::MPIMessageGrp(3) |
sc::MPIMessageGrp - The MPIMessageGrp class is an concrete implementation of MessageGrp that uses the MPI 1 library.
#include <messmpi.h>
Inherits sc::MessageGrp.
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)
void init (MPI_Comm comm, int *argc=0, char ***argv=0)
Not thread-safe due to race condition on nmpi_grps variable.
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 int nmpi_grps
Number of MPIMessageGrp's currently in use. static Ref<
ThreadLock > grplock
lock to access nmpi_grps variable
The MPIMessageGrp class is an concrete implementation of MessageGrp that uses the MPI 1 library.
Use an MPI communicator to create a MessageGrp. The comm argument could be a subset of MPI_COMM_WORLD, for example.
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.
Global generic reduction. Similar members exist for each of the basic types.
Reimplemented from sc::MessageGrp.
Global sum reduction. Similar members exist for each of the basic types.
Reimplemented from sc::MessageGrp.
Generated automatically by Doxygen for MPQC from the source code.
Sun Oct 4 2020 | Version 2.3.1 |