pvm_siblings man page on YellowDog

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

SIBLINGS(3PVM)			PVM Version 3.4			SIBLINGS(3PVM)

NAME
       pvm_siblings  -	return the number and associated task ids of processes
       that were started together in a single spawn call.

SYNOPSIS
       C    int ntids = pvm_siblings( int **tids )

       Fortran	 call pvmfsiblings( ntids, index, sibling )

PARAMETERS
       ntids   Returns the number of tids that were  spawned  together.	 Value
	       less than 0 indicates an error.

       tids    Pointer	to  the	 array	of  tids  that	contains the siblings.
	       Indexed from 0 to (ntids - 1)

       index   Integer index of tid to be returned in sibling. If index is set
	       to  -1,	then  sibling  is unchanged. Otherwise, must be in the
	       range [0, ntids - 1]

       sibling When index is in the range [0, ntids -1], this contains the tid
	       of the desired index.

DESCRIPTION
       The routine pvm_siblings returns the number of tasks and a list of task
       ids of processes that were spawned together in a single spawn call. The
       spawning task multicasts the list of successful to the spawned tasks so
       that each task has an identical copy of the sibling list.  pvm_siblings
       uses  local  storage  to keep the list of tids and does not update this
       list when sibling tasks exit the virtual machine.  The FORTRAN  version
       allows calling programs read a particular index in the internal sibling
       array.  If pvm_siblings is successful, ntids will  be   >  0.  If  some
       error occurs then ntids will be < 0.

       pvm_siblings  is	 designed  to  simplify the logic in static spmd-style
       programs. By giving tasks an identical list of tids and its size,  pro‐
       grams  may  self	 size  and  treat  the	sibling	 as static map between
       instances and tasks. The internal list  is  not	updated	 when  sibling
       tasks  exit  the virtual machine and should be treated as a snapshot of
       the parallel program when it was first started.

       If a task was started by pvm_spawn, then pvm_siblings will return ntids
       = 1 and

       ntids = 1 and tids will contain a single entry identical to the task id
       returned by pvm_mytid()

EXAMPLES
       C:
	    int *tids;
	    ntids = pvm_siblings(&tids);

       Fortran:
	    INTEGER TIDS(0:MAXNPROC)
	    CALL PVMFSIBLINGS(NTIDS, -1, IDUM)
	    DO I = 0, NTIDS-1
	       CALL PVMFSIBLINGS(NTIDS, I, TIDS(I))

ERRORS
       pvm_siblings can return the following error codes

       PvmNoTask
	      No task at that index, or index is invalid.

SEE ALSO
       pvm_spawn(3PVM), pvm_mytid(3PVM), pvm_parent(3PVM)

				 26 June, 1997			SIBLINGS(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