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
       processors.   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)

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

home | help