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 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 broad-
cast 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 pro-
cessors. 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 multiproces-
sor vendors. Typically their native calls only support broadcasting to all the user's processes on a multiprocessor. Because of this omis-
sion, 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)