Provided by: pvm-dev_3.4.5-12.3_amd64 bug

NAME

       libpvm3, libfpvm3 - PVM C and Fortran programming libraries

DESCRIPTION

       All  PVM  applications must be linked with the libpvm library to allow them to communicate
       with other entities in the PVM system.  The base library (libpvm3.a) is written in  C  and
       directly  supports  C  and C++ applications.  The Fortran library (libfpvm3.a) consists of
       wrapper functions to convert Fortran calling sequences to C.

       Applications written in C must be linked with at least the base  PVM  library,  libpvm3.a.
       Fortran applications must be linked with both libfpvm3.a and libpvm3.a.  On some operating
       systems, PVM programs must be linked with other vendor-provided libraries (containing  for
       example, socket or XDR functions).

       Programs that use group functions must also be linked with libgpvm3.a.

SUBROUTINES

       The libpvm subroutines can be divided into roughly five classes:

       Message Passing
              pvm_bufinfo,   pvm_freebuf,   pvm_getrbuf,  pvm_getsbuf,  pvm_initsend,  pvm_mcast,
              pvm_mkbuf,  pvm_nrecv,  pvm_pack,  pvm_precv,   pvm_probe,   pvm_psend,   pvm_recv,
              pvm_recvf, pvm_send, pvm_sendsig, pvm_setmwid, pvm_setrbuf, pvm_setsbuf, pvm_trecv,
              pvm_unpack

       Task Control
              pvm_exit, pvm_kill, pvm_mytid, pvm_parent, pvm_pstat, pvm_spawn, pvm_tasks

       Group Library Functions
              pvm_barrier,   pvm_bcast,   pvm_gather,   pvm_getinst,    pvm_gettid,    pvm_gsize,
              pvm_joingroup, pvm_lvgroup, pvm_reduce, pvm_scatter

       Virtual Machine Control
              pvm_addhosts,   pvm_config,   pvm_delhosts,  pvm_halt,  pvm_mstat,  pvm_reg_hoster,
              pvm_reg_rm, pvm_reg_tasker, pvm_start_pvmd

       Miscellaneous
              pvm_archcode,  pvm_catchout,  pvm_getopt,  pvm_hostsync,  pvm_notify,   pvm_perror,
              pvm_setopt, pvm_settmask, pvm_tidtohost

ERRORS

       On  success,  most  libpvm  functions  return  the  constant  PvmOk.   The following error
       conditions can be returned by libpvm functions:

       PvmAlready
              The requested operation requires exclusive  access,  and  another  was  already  in
              progress.

       PvmBadMsg
              The  received messages has a data format native to another machine, which cannot be
              decoded by libpvm.

       PvmBadParam
              A bad parameter was passed to the function.

       PvmBadVersion
              Two PVM components (pvmd and task,  two  pvmds  or  two  tasks)  have  incompatible
              protocol versions and cannot interoperate.  Version mismatch

       PvmCantStart
              A pvmd could not be started on the local host, or a slave pvmd could not be started
              on a remote host.

       PvmDSysErr
              Some internal mechanism in the pvmd failed during the requested operation.

       PvmDupEntry
              The class server already has an entry matching the  insert  request.   [In  Version
              3.4: Relaced by PvmExists]

       PvmDupGroup
              The task has already a member of the group it attempted to join.

       PvmDupHost
              An attempt was made to add the same host to a virtual machine more than once, or to
              add a host already a member of another virtual machine owned by the same user.

       PvmDenied
              Operation is refused due to locking, permissions, etc.

       PvmExists
              There is already an entry matching the insert request.

       PvmHostFail
              A foreign host in the virtual machine failed during the requested operation.

       PvmMismatch
              A parameter does not match a corresponding one.

       PvmNoBuf
              There is no current message buffer to pack or unpack.

       PvmNoData
              The end of a message buffer was reached while trying to unpack data.

       PvmNoEntry
              The class server has no entry matching the lookup request.
              [In Version 3.4: Relaced by PvmNotFound]

       PvmNoFile
              The named executable does not exist.

       PvmNoGroup
              The named group does not exist.

       PvmNoHost
              There is no host in the virtual machine with the given name, or the name could  not
              be resolved to an address.

       PvmNoInst
              The named group has no member with this instance.

       PvmNoMem
              Malloc failed to get memory for libpvm.

       PvmNoParent
              This task has no parent task.

       PvmNoSuchBuf
              There is no message buffer with the given buffer handle.

       PvmNoTask
              No task exists with the given tid.

       PvmNotFound
              No entry matching the lookup request was found.

       PvmNotImpl
              This libpvm function or option is not implemented.

       PvmNotInGroup
              The named group has no such member task.

       PvmNullGroup
              A null group name was passed to a function.

       PvmOutOfRes
              The requested operation could not be completed due to lack of resources.

       PvmOverflow
              A value is too large to be packed or unpacked.

       PvmSysErr
              Libpvm  could  not  contact  a pvmd on the local host, or the pvmd failed during an
              operation.

FILES

       $PVM_ROOT/include/fpvm3.h
              Fortran header file

       $PVM_ROOT/include/pvm3.h
              C header file

       $PVM_ROOT/include/pvmsdpro.h
              Header file for tasker, hoster and resource manager tasks

       $PVM_ROOT/include/pvmtev.h
              Header file for tasks manipulating trace events

       $PVM_ROOT/lib/$PVM_ARCH/libpvm3.a
              C (base) library

       $PVM_ROOT/lib/$PVM_ARCH/libfpvm3.a
              Fortran wrapper library

       $PVM_ROOT/lib/$PVM_ARCH/libgpvm3.a
              Group function library

SEE ALSO

       aimk(1PVM), pvm(1PVM), pvm_intro(1PVM), pvmd3(1PVM)

                                          27 June, 1994                              LIBPVM(3PVM)