FreeBSD Manual Pages
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. In- dexed 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 er- ror 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 in- stances 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)
NAME | SYNOPSIS | PARAMETERS | DESCRIPTION | EXAMPLES | ERRORS | SEE ALSO
Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=pvmfsiblings&sektion=3&manpath=FreeBSD+Ports+15.0>
