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

FreeBSD Manual Pages

  
 
  

home | help
BCAST(3PVM)			PVM Version 3.4			   BCAST(3PVM)

NAME
       pvm_bcast - Broadcasts the data in the active message buffer to a group
       of processes.

SYNOPSIS
       C    int	info = pvm_bcast( char *group, int msgtag )

       Fortran	 call pvmfbcast( group,	msgtag,	info )

PARAMETERS
       group   Character string	group name of an existing group.

       msgtag  Integer message tag supplied by the user.  msgtag should	be  >=
	       0.  It allows the user's	program	to distinguish between differ-
	       ent kinds of messages .
	       info integer status code	returned by the	routine.  Values  less
	       than zero indicate an error.

DESCRIPTION
       The  routine  pvm_bcast	broadcasts a message stored in the active send
       buffer to all the members of group.  In PVM 3.2 and later the broadcast
       message	is  not	 sent  back  to	 the  sender.	Any  PVM task can call
       pvm_bcast(), it need not	be a member of the group.  The content of  the
       message	can  be	 distinguished by msgtag.  If pvm_bcast	is successful,
       info will be 0. If some error occurs then info will be <	0.

       pvm_bcast is asynchronous.  Computation on the  sending	processor  re-
       sumes as	soon as	the message is safely on its way to the	receiving pro-
       cessors.	 This is in  contrast  to  synchronous	communication,	during
       which  computation  on the sending processor halts until	a matching re-
       ceive is	executed by all	the receiving processors.

       pvm_bcast first determines the tids of the group	members	by checking  a
       group data base.	 A multicast is	performed to these tids.  If the group
       is changed during a broadcast the change	will not be reflected  in  the
       broadcast.   Multicasting  is not supported by most multiprocessor ven-
       dors.  Typically	their native calls only	support	 broadcasting  to  all
       the  user's  processes  on  a multiprocessor. Because of	this omission,
       pvm_bcast may not be an efficient communication method on  some	multi-
       processors.

EXAMPLES
       C:
	    info = pvm_initsend( PvmDataRaw );
	    info = pvm_pkint( array, 10, 1 );
	    msgtag = 5 ;
	    info = pvm_bcast( "worker",	msgtag );

       Fortran:
	    CALL PVMFINITSEND( PVMDEFAULT )
	    CALL PVMFPKFLOAT( DATA, 100, 1, INFO )
	    CALL PVMFBCAST( 'worker', 5, INFO )

ERRORS
       These error conditions can be returned by pvm_bcast

       PvmSysErr
	      pvmd was not started or has crashed.

       PvmBadParam
	      giving a negative	msgtag.

       PvmNoGroup
	      giving a non-existent group name.

SEE ALSO
       pvm_joingroup(3PVM)

				30 August, 1993			   BCAST(3PVM)

NAME | SYNOPSIS | PARAMETERS | DESCRIPTION | EXAMPLES | ERRORS | SEE ALSO

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=pvm_bcast&sektion=3&manpath=FreeBSD+12.2-RELEASE+and+Ports>

home | help