1LIBPVM(3PVM) PVM Version 3.4 LIBPVM(3PVM)
2
3
4
6 libpvm3.a, libfpvm3.a - PVM C and Fortran programming libraries
7
8
10 All PVM applications must be linked with the libpvm library to allow
11 them to communicate with other entities in the PVM system. The base
12 library (libpvm3.a) is written in C and directly supports C and C++
13 applications. The Fortran library (libfpvm3.a) consists of wrapper
14 functions to convert Fortran calling sequences to C.
15
16 Applications written in C must be linked with at least the base PVM
17 library, libpvm3.a. Fortran applications must be linked with both
18 libfpvm3.a and libpvm3.a. On some operating systems, PVM programs must
19 be linked with other vendor-provided libraries (containing for example,
20 socket or XDR functions).
21
22 Programs that use group functions must also be linked with libgpvm3.a.
23
24
26 The libpvm subroutines can be divided into roughly five classes:
27
28
29 Message Passing
30 pvm_bufinfo, pvm_freebuf, pvm_getrbuf, pvm_getsbuf, pvm_init‐
31 send, pvm_mcast, pvm_mkbuf, pvm_nrecv, pvm_pack, pvm_precv,
32 pvm_probe, pvm_psend, pvm_recv, pvm_recvf, pvm_send, pvm_send‐
33 sig, pvm_setmwid, pvm_setrbuf, pvm_setsbuf, pvm_trecv,
34 pvm_unpack
35
36 Task Control
37 pvm_exit, pvm_kill, pvm_mytid, pvm_parent, pvm_pstat, pvm_spawn,
38 pvm_tasks
39
40 Group Library Functions
41 pvm_barrier, pvm_bcast, pvm_gather, pvm_getinst, pvm_gettid,
42 pvm_gsize, pvm_joingroup, pvm_lvgroup, pvm_reduce, pvm_scatter
43
44 Virtual Machine Control
45 pvm_addhosts, pvm_config, pvm_delhosts, pvm_halt, pvm_mstat,
46 pvm_reg_hoster, pvm_reg_rm, pvm_reg_tasker, pvm_start_pvmd
47
48 Miscellaneous
49 pvm_archcode, pvm_catchout, pvm_getopt, pvm_hostsync,
50 pvm_notify, pvm_perror, pvm_setopt, pvm_settmask, pvm_tidtohost
51
53 On success, most libpvm functions return the constant PvmOk. The fol‐
54 lowing error conditions can be returned by libpvm functions:
55
56
57 PvmAlready
58 The requested operation requires exclusive access, and another
59 was already in progress.
60
61 PvmBadMsg
62 The received messages has a data format native to another
63 machine, which cannot be decoded by libpvm.
64
65 PvmBadParam
66 A bad parameter was passed to the function.
67
68 PvmBadVersion
69 Two PVM components (pvmd and task, two pvmds or two tasks) have
70 incompatible protocol versions and cannot interoperate. Version
71 mismatch
72
73 PvmCantStart
74 A pvmd could not be started on the local host, or a slave pvmd
75 could not be started on a remote host.
76
77 PvmDSysErr
78 Some internal mechanism in the pvmd failed during the requested
79 operation.
80
81 PvmDupEntry
82 The class server already has an entry matching the insert
83 request. [In Version 3.4: Relaced by PvmExists]
84
85 PvmDupGroup
86 The task has already a member of the group it attempted to join.
87
88 PvmDupHost
89 An attempt was made to add the same host to a virtual machine
90 more than once, or to add a host already a member of another
91 virtual machine owned by the same user.
92
93 PvmDenied
94 Operation is refused due to locking, permissions, etc.
95
96 PvmExists
97 There is already an entry matching the insert request.
98
99 PvmHostFail
100 A foreign host in the virtual machine failed during the
101 requested operation.
102
103 PvmMismatch
104 A parameter does not match a corresponding one.
105
106 PvmNoBuf
107 There is no current message buffer to pack or unpack.
108
109 PvmNoData
110 The end of a message buffer was reached while trying to unpack
111 data.
112
113 PvmNoEntry
114 The class server has no entry matching the lookup request.
115 [In Version 3.4: Relaced by PvmNotFound]
116
117 PvmNoFile
118 The named executable does not exist.
119
120 PvmNoGroup
121 The named group does not exist.
122
123 PvmNoHost
124 There is no host in the virtual machine with the given name, or
125 the name could not be resolved to an address.
126
127 PvmNoInst
128 The named group has no member with this instance.
129
130 PvmNoMem
131 Malloc failed to get memory for libpvm.
132
133 PvmNoParent
134 This task has no parent task.
135
136 PvmNoSuchBuf
137 There is no message buffer with the given buffer handle.
138
139 PvmNoTask
140 No task exists with the given tid.
141
142 PvmNotFound
143 No entry matching the lookup request was found.
144
145 PvmNotImpl
146 This libpvm function or option is not implemented.
147
148 PvmNotInGroup
149 The named group has no such member task.
150
151 PvmNullGroup
152 A null group name was passed to a function.
153
154 PvmOutOfRes
155 The requested operation could not be completed due to lack of
156 resources.
157
158 PvmOverflow
159 A value is too large to be packed or unpacked.
160
161 PvmSysErr
162 Libpvm could not contact a pvmd on the local host, or the pvmd
163 failed during an operation.
164
166 $PVM_ROOT/include/fpvm3.h
167 Fortran header file
168
169 $PVM_ROOT/include/pvm3.h
170 C header file
171
172 $PVM_ROOT/include/pvmsdpro.h
173 Header file for tasker, hoster and resource manager tasks
174
175 $PVM_ROOT/include/pvmtev.h
176 Header file for tasks manipulating trace events
177
178 $PVM_ROOT/lib/$PVM_ARCH/libpvm3.a
179 C (base) library
180
181 $PVM_ROOT/lib/$PVM_ARCH/libfpvm3.a
182 Fortran wrapper library
183
184 $PVM_ROOT/lib/$PVM_ARCH/libgpvm3.a
185 Group function library
186
188 aimk(1PVM), pvm(1PVM), pvm_intro(1PVM), pvmd3(1PVM)
189
190
191
192 27 June, 1994 LIBPVM(3PVM)