pvm_mcast man page on YellowDog

Man page or keyword search:  
man Server   18644 pages
apropos Keyword Search (all sections)
Output format
YellowDog logo
[printable version]

MCAST(3PVM)			PVM Version 3.4			   MCAST(3PVM)

NAME
       pvm_mcast  -  Multicasts the data in the active message buffer to a set
       of tasks.

SYNOPSIS
       C    int info = pvm_mcast( int *tids, int ntask, int msgtag )

       Fortran	 call pvmfmcast( ntask, tids, msgtag, info )

PARAMETERS
       ntask   Integer specifying the number of tasks to be sent to.

       tids    Integer array of length ntask containing the task  IDs  of  the
	       tasks to be sent to.

       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_mcast multicasts a message stored in  the  active  send
       buffer  to ntask tasks specified in the tids array.  The message is not
       sent to the caller even if listed in the array of tids.	The content of
       the  message  can be distinguished by msgtag.  If pvm_mcast is success‐
       ful, info will be 0. If some error occurs then info will be < 0.

       The receiving processes	can  call  either  pvm_recv  or	 pvm_nrecv  to
       receive	their  copy  of	 the multicast.	 pvm_mcast is asynchronous and
       based on a minimum spanning tree algorithm between the pvmds.  Computa‐
       tion  on the sending processor resumes as soon as the message is safely
       on its way to the receiving processors.	This is in  contrast  to  syn‐
       chronous communication, during which computation on the sending proces‐
       sor halts until the matching receive is executed by the receiving  pro‐
       cessor.

       pvm_mcast  first	 determines  which  other  pvmds contain the specified
       tasks.  Then passes the message to these pvmds which in turn distribute
       the message to their local tasks without further network traffic.

       Multicasting  is	 not  supported by most multiprocessor vendors.	 Typi‐
       cally their native calls only  support  broadcasting  to	 {\m  all  the
       user's  processes  on  a	 multiprocessor.  Because  of  this  omission,
       pvm_mcast may not be an efficient communication method on  some	multi‐
       processors  except  in the special case of broadcasting to all PVM pro‐
       cesses.

EXAMPLES
       C:
	    info = pvm_initsend( PvmDataRaw );
	    info = pvm_pkint( array, 10, 1 );
	    msgtag = 5 ;
	    info = pvm_mcast( tids, ntask, msgtag );

       Fortran:
	    CALL PVMFINITSEND(PVMDEFAULT)
	    CALL PVMFPACK( REAL4, DATA, 100, 1, INFO )
	    CALL PVMFMCAST( NPROC, TIDS, 5, INFO )

ERRORS
       These error conditions can be returned by pvm_mcast

       PvmBadParam
	      giving a msgtag < 0.

       PvmSysErr
	      pvmd not responding.

       PvmNoBuf
	      no send buffer.

SEE ALSO
       pvm_psend(3PVM), pvm_recv(3PVM), pvm_send(3PVM)

				30 August, 1993			   MCAST(3PVM)
[top]

List of man pages available for YellowDog

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net