Provided by: pvm-dev_3.4.5-12.3_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)