Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
sc::intMessageGrp(3)		     MPQC		  sc::intMessageGrp(3)

NAME
       sc::intMessageGrp - Uses	integer	message	types to send and receive
       messages.

SYNOPSIS
       #include	<message.h>

       Inherits	sc::MessageGrp.

       Inherited by sc::ShmMessageGrp.

   Public Member Functions
       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)
	   Ask if a given typed	message	has been received.
       int leftover_ctl_bits ()

       Public Member Functions inherited from sc::MessageGrp
       MessageGrp (const Ref< KeyVal > &)
       int n ()
	   Returns the number of processors.
       int me ()
	   Returns my processor	number.	In the range [0,n()).
       virtual Ref< MessageGrp > clone (void)=0
	   Returns a copy of this MessageGrp specialization that provides an
	   independent communication context.
       virtual void send (int target, const double *data, int ndata)
	   Send	messages sequentially to the target processor.
       virtual void send (int target, const unsigned int *data,	int ndata)
       virtual void send (int target, const int	*data, int ndata)
       virtual void send (int target, const char *data,	int nbyte)
       virtual void send (int target, const unsigned char *data, int nbyte)
       virtual void send (int target, const signed char	*data, int nbyte)
       virtual void send (int target, const short *data, int ndata)
       virtual void send (int target, const long *data,	int ndata)
       virtual void send (int target, const float *data, int ndata)
       void send (int target, double data)
       void send (int target, int data)
       virtual void raw_send (int target, const	void *data, int	nbyte)=0
       virtual void sendt (int target, int type, const double *data, int
	   ndata)
	   Send	typed messages to the target processor.
       virtual void sendt (int target, int type, const unsigned	int *data, int
	   ndata)
       virtual void sendt (int target, int type, const int *data, int ndata)
       virtual void sendt (int target, int type, const char *data, int nbyte)
       virtual void sendt (int target, int type, const unsigned	char *data,
	   int nbyte)
       virtual void sendt (int target, int type, const signed char *data, int
	   nbyte)
       virtual void sendt (int target, int type, const short *data, int	ndata)
       virtual void sendt (int target, int type, const long *data, int ndata)
       virtual void sendt (int target, int type, const float *data, int	ndata)
       void sendt (int target, int type, double	data)
       void sendt (int target, int type, int data)
       virtual void raw_sendt (int target, int type, const void	*data, int
	   nbyte)=0
       virtual void recv (int sender, double *data, int	ndata)
	   Receive messages sent sequentually from the sender.
       virtual void recv (int sender, unsigned int *data, int ndata)
       virtual void recv (int sender, int *data, int ndata)
       virtual void recv (int sender, char *data, int nbyte)
       virtual void recv (int sender, unsigned char *data, int nbyte)
       virtual void recv (int sender, signed char *data, int nbyte)
       virtual void recv (int sender, short *data, int ndata)
       virtual void recv (int sender, long *data, int ndata)
       virtual void recv (int sender, float *data, int ndata)
       void recv (int sender, double &data)
       void recv (int sender, int &data)
       virtual void raw_recv (int sender, void *data, int nbyte)=0
       virtual void recvt (int type, double *data, int ndata)
	   Receive messages sent by type.
       virtual void recvt (int type, unsigned int *data, int ndata)
       virtual void recvt (int type, int *data,	int ndata)
       virtual void recvt (int type, char *data, int nbyte)
       virtual void recvt (int type, unsigned char *data, int nbyte)
       virtual void recvt (int type, signed char *data,	int nbyte)
       virtual void recvt (int type, short *data, int ndata)
       virtual void recvt (int type, long *data, int ndata)
       virtual void recvt (int type, float *data, int ndata)
       void recvt (int type, double &data)
       void recvt (int type, int &data)
       virtual void raw_recvt (int type, void *data, int nbyte)=0
       virtual int probet (int type)=0
	   Ask if a given typed	message	has been received.
       virtual void bcast (double *data, int ndata, int	from=0)
	   Do broadcasts of various types of data.
       virtual void bcast (unsigned int	*data, int ndata, int from=0)
       virtual void bcast (int *data, int ndata, int from=0)
       virtual void bcast (char	*data, int nbyte, int from=0)
       virtual void bcast (unsigned char *data,	int nbyte, int from=0)
       virtual void bcast (signed char *data, int nbyte, int from=0)
       virtual void bcast (short *data,	int ndata, int from=0)
       virtual void bcast (long	*data, int ndata, int from=0)
       virtual void bcast (float *data,	int ndata, int from=0)
       virtual void raw_bcast (void *data, int nbyte, int from=0)
       void bcast (double &data, int from=0)
       void bcast (int &data, int from=0)
       virtual void raw_collect	(const void *part, const int *lengths, void
	   *whole, int bytes_per_datum=1)
	   Collect data	distributed on the nodes to a big array	replicated on
	   each	node.
       void collect (const double *part, const int *lengths, double *whole)
       virtual void sum	(double	*data, int n, double *=0, int target=-1)
	   Global sum reduction.
       virtual void sum	(unsigned int *data, int n, unsigned int *=0, int
	   target=-1)
       virtual void sum	(int *data, int	n, int *=0, int	target=-1)
       virtual void sum	(char *data, int n, char *=0, int target=-1)
       virtual void sum	(unsigned char *data, int n, unsigned char *=0,	int
	   target=-1)
       virtual void sum	(signed	char *data, int	n, signed char *=0, int
	   target=-1)
       void sum	(double	&data)
       void sum	(int &data)
       virtual void max	(double	*data, int n, double *=0, int target=-1)
	   Global maximization.
       virtual void max	(int *data, int	n, int *=0, int	target=-1)
       virtual void max	(unsigned int *data, int n, unsigned int *=0, int
	   target=-1)
       virtual void max	(char *data, int n, char *=0, int target=-1)
       virtual void max	(unsigned char *data, int n, unsigned char *=0,	int
	   target=-1)
       virtual void max	(signed	char *data, int	n, signed char *=0, int
	   target=-1)
       void max	(double	&data)
       void max	(int &data)
       virtual void min	(double	*data, int n, double *=0, int target=-1)
	   Global minimization.
       virtual void min	(int *data, int	n, int *=0, int	target=-1)
       virtual void min	(unsigned int *data, int n, unsigned int *=0, int
	   target=-1)
       virtual void min	(char *data, int n, char *=0, int target=-1)
       virtual void min	(unsigned char *data, int n, unsigned char *=0,	int
	   target=-1)
       virtual void min	(signed	char *data, int	n, signed char *=0, int
	   target=-1)
       void min	(double	&data)
       void min	(int &data)
       virtual void reduce (double *, int n, GrpReduce<	double > &, double
	   *scratch=0, int target=-1)
	   Global generic reduction.
       virtual void reduce (int	*, int n, GrpReduce< int > &, int *scratch=0,
	   int target=-1)
       virtual void reduce (unsigned int *, int	n, GrpReduce< unsigned int >
	   &, unsigned int *scratch=0, int target=-1)
       virtual void reduce (char *, int	n, GrpReduce< char > &,	char
	   *scratch=0, int target=-1)
       virtual void reduce (unsigned char *, int n, GrpReduce< unsigned	char >
	   &, unsigned char *scratch=0,	int target=-1)
       virtual void reduce (signed char	*, int n, GrpReduce< signed char > &,
	   signed char *scratch=0, int target=-1)
       virtual void reduce (short *, int n, GrpReduce< short > &, short
	   *scratch=0, int target=-1)
       virtual void reduce (float *, int n, GrpReduce< float > &, float
	   *scratch=0, int target=-1)
       virtual void reduce (long *, int	n, GrpReduce< long > &,	long
	   *scratch=0, int target=-1)
       void reduce (double &data, GrpReduce< double > &r)
       void reduce (int	&data, GrpReduce< int >	&r)
       virtual void sync ()
	   Synchronize all of the processors.
       Ref< MachineTopology > topology ()
	   Return the MachineTopology object.
       int classdesc_to_index (const ClassDesc *)
	   Each	message	group maintains	an association of ClassDesc with a
	   global index	so SavableState	information can	be sent	between	nodes
	   without needing to send the classname and look up the ClassDesc
	   with	each transfer.
       const ClassDesc * index_to_classdesc (int)
       int nclass () const

       Public Member Functions inherited from sc::DescribedClass
       DescribedClass (const DescribedClass &)
       DescribedClass &	operator= (const DescribedClass	&)
       ClassDesc * class_desc () const	throw ()
	   This	returns	the unique pointer to the ClassDesc corresponding to
	   the given type_info object.
       const char * class_name () const
	   Return the name of the object's exact type.
       int class_version () const
	   Return the version of the class.
       virtual void print (std::ostream	&=ExEnv::out0()) const
	   Print the object.

       Public Member Functions inherited from sc::RefCount
       int lock_ptr () const
	   Lock	this object.
       int unlock_ptr () const
	   Unlock this object.
       void use_locks (bool inVal)
	   start and stop using	locks on this object
       refcount_t nreference ()	const
	   Return the reference	count.
       refcount_t reference ()
	   Increment the reference count and return the	new count.
       refcount_t dereference ()
	   Decrement the reference count and return the	new count.
       int managed () const
       void unmanage ()
	   Turn	off the	reference counting mechanism for this object.
       int managed () const
	   Return 1 if the object is managed. Otherwise	return 0.

       Public Member Functions inherited from sc::Identity
       Identifier identifier ()
	   Return the Identifier for this argument.

   Protected Member Functions
       int msgtype_typ (int msgtype)
       int typ_msgtype (int usrtype)
       int seq_msgtype (int source, int	seq)
       virtual void basic_send (int target, int	type, const void *data,	int
	   nbyte)=0
	   Must	be implemented by specializations.
       virtual void basic_recv (int type, void *data, int nbyte)=0
	   Must	be implemented by specializations.
       virtual int basic_probe (int type)=0
	   Must	be implemented by specializations.
       intMessageGrp (const Ref< KeyVal	> &)
       void initialize (int me,	int n, int nbits)

       Protected Member	Functions inherited from sc::MessageGrp
       void initialize (int me,	int n)
	   The classdesc_to_index_ and index_to_classdesc_ arrays cannot be
	   initialized by the MessageGrp CTOR, because the MessageGrp
	   specialization has not yet been initialized and communication is
	   not available.

       Protected Member	Functions inherited from sc::RefCount
       RefCount	(const RefCount	&)
       RefCount	& operator= (const RefCount &)

   Protected Attributes
       int msgtype_nbit
       int ctl_nbit
       int seq_nbit
       int typ_nbit
       int src_nbit
       int ctl_mask
       int seq_mask
       int typ_mask
       int src_mask
       int ctl_shift
       int seq_shift
       int typ_shift
       int src_shift
       int * source_seq
       int * target_seq

       Protected Attributes inherited from sc::MessageGrp
       Ref< MachineTopology > topology_
       int debug_

   Additional Inherited	Members
       Static Public Member Functions inherited	from sc::MessageGrp
       static void set_default_messagegrp (const Ref< MessageGrp > &)
	   The default message group contains the primary message group	to be
	   used	by an application.
       static MessageGrp * get_default_messagegrp ()
	   Returns the default message group.
       static MessageGrp * initial_messagegrp (int &argc, char **&argv)
	   Create a message group.

Detailed Description
       Uses integer message types to send and receive messages.

       Message group specializations that use the MPI library and the Paragon
       NX can be conveniently implemented in terms of this.

Member Function	Documentation
   virtual int sc::intMessageGrp::basic_probe (int type) [protected],  [pure
       virtual]
       Must be implemented by specializations.

       Implemented in sc::ShmMessageGrp.

   virtual void	sc::intMessageGrp::basic_recv (int type, void *	data, int
       nbyte) [protected],  [pure virtual]
       Must be implemented by specializations.

       Implemented in sc::ShmMessageGrp.

   virtual void	sc::intMessageGrp::basic_send (int target, int type, const
       void * data, int	nbyte) [protected],  [pure virtual]
       Must be implemented by specializations.

       Implemented in sc::ShmMessageGrp.

   int sc::intMessageGrp::probet (int type) [virtual]
       Ask if a	given typed message has	been received.

       Implements sc::MessageGrp.

   void	sc::intMessageGrp::raw_recv (int sender, void *	data, int nbyte)
       [virtual]
       Implements sc::MessageGrp.

   void	sc::intMessageGrp::raw_recvt (int type,	void * data, int nbyte)
       [virtual]
       Implements sc::MessageGrp.

   void	sc::intMessageGrp::raw_send (int target, const void * data, int	nbyte)
       [virtual]
       Implements sc::MessageGrp.

   void	sc::intMessageGrp::raw_sendt (int target, int type, const void * data,
       int nbyte) [virtual]
       Implements sc::MessageGrp.

Author
       Generated automatically by Doxygen for MPQC from	the source code.

Version	2.3.1			Tue May	13 2025		  sc::intMessageGrp(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=sc_intMessageGrp&sektion=3&manpath=FreeBSD+Ports+14.3.quarterly>

home | help