BCAST(3PVM)							  BCAST(3PVM)

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

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

  Fortran call pvmfbcast( group, msgtag, info )

PARAMETERS

  group	  Character string group name of an existing group.

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

DISCUSSION
  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 dis-
  tinguished 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 resumes 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 receive 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 broad-
  cast.	 Multicasting is not supported by most multiprocessor vendors.	Typi-
  cally	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 multiprocessors.

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)


Back to the alphabetical listing
Back to the listing of routines for sending and receiving messages