Provided by: pvm-dev_3.4.6-3.2_amd64 bug

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 different 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 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  broadcast.   Multicasting  is  not supported by most multiprocessor vendors.  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 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)

                                                 30 August, 1993                                     BCAST(3PVM)