GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
SIBLINGS(3PVM) PVM Version 3.4 SIBLINGS(3PVM)

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

C	int ntids = pvm_siblings( int **tids )

Fortran call pvmfsiblings( ntids, index, sibling )

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.

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, programs 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()

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))

pvm_siblings can return the following error codes
PvmNoTask
No task at that index, or index is invalid.

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

26 June, 1997

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.