sc::MPIMessageGrp(3)
π NAME π
sc::MPIMessageGrp is a concrete implementation of MessageGrp that uses the MPI 1 library β yes bestie, it's giving parallel-communication main character energy. π
β¨ This is the sc::MPIMessageGrp(3) page, btw.
β¨ SYNOPSIS β¨
#include <messmpi.h>
Inherits sc::MessageGrp.
π«Ά Public Member Functions
MPIMessageGrp (MPI_Comm comm)β Use an MPI communicator to create aMessageGrp. The comm argument could be a subset ofMPI_COMM_WORLD, for example.MPIMessageGrp (int *argc, char ***argv)β Use argc and argv to create aMPIMessageGrp.MPIMessageGrp (const Ref< KeyVal > &)β ConstructionMPIMessageGrpgiven aKeyValinput object.Ref< MessageGrp > clone (void)β Clones (dups) anMPIMessageGrpfromMPI_COMM_WORLD. Periodt. π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. Group-hug energy fr fr. π«Άvoid sum (double *, int n, double *scratch=0, int target=-1)void sum (int *, int n, int *scratch=0, int target=-1)void reduce (double *, int n, GrpReduce< double > &, double *scratch=0, int target=-1)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 onnmpi_grpsvariable.
β οΈ Thread-safety tea:init(...)is not thread-safe because of a race condition on thenmpi_grpsvariable. Do not @ me, that's literally what the page says. π
π Protected Attributes
void * bufint bufsizeint rnodeint rtagint rlenbool use_messagegrp_collectives_β If true use the generic collective routines in the base class.Ref< ThreadGrp > threadgrpMPI_Comm commgrpβ Currently eachcommgrpis a dup ofMPI_COMM_WORLD.
πΈ Static Protected Attributes
static int nmpi_grpsβ Number ofMPIMessageGrp's currently in use.static Ref< ThreadLock > grplockβ lock to accessnmpi_grpsvariable
π¦ Additional Inherited Members
Yep, there are additional inherited members from sc::MessageGrp β the original page puts this heading right here, and we are respecting the vibe check. β¨
π Detailed Description
The MPIMessageGrp class is a concrete implementation of MessageGrp that uses the MPI 1 library. That's the whole plot, bestie. π
π§ 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. Slay. π
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. No cap. π
π₯ 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.
okay bestie, that's the whole page π β it's from MPQC version 2.3.1, dated Sun Oct 4 2020. slay, you made it to the end. πβ¨
π¦ where this page comes from
- ubuntu jammy: libsc-doc 2.3.1-21
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms