Fortran Interface include 'fpvm3.h' Process Control call pvmfmytid

Document Sample
scope of work template
							                                                      Sending
Fortran Interface                                     call pvmfpack( type, xp, nitem, stride, info )

include 'fpvm3.h'                                      Pack/unpack and Reduce type options
                                                        STRING     0   REAL4             4

                                                                                                                      arallel
Process Control                                         BYTE1      1   COMPLEX8          5
call   pvmfmytid( tid )                                 INTEGER2 2     REAL8             6
call   pvmfexit( info )                                 INTEGER4 3     COMPLEX16         7
call   pvmfkill( tid, info )
                                                      call pvmfsend( tid, msgtag, info )

                                                                                                                       irtual
call   pvmfaddhost( host, info )
call   pvmfdelhost( host, info )                      call pvmfmcast( ntask, tids, msgtag, info )
call   pvmfnotify(about, msgtag, ntask, tids, info)   call pvmfpsend( tid, msgtag, xp, nitem, type, info )
call   pvmfspawn( task, flag, where,
                  ntask, tids, numt )                 Receiving
                                                                                                                        ac ine
                                                      call   pvmfrecv(tid, msgtag, bufid )
Information                                           call            tid, msgtag, bufid )
                                                             pvmfprobe(
call pvmfparent( tid )                                call            tid, msgtag, bufid )
                                                             pvmfnrecv(
call pvmfperror( msg, info )                          call            tid, msgtag, sec, usec, bufid )
                                                             pvmftrecv(
call pvmftidtohost( tid, dtid )                       call            tid, msgtag, xp, nitem, type,
                                                             pvmfprecv(
call pvmfconfig( nhost, narch, dtid, host,                            rtid, rtag, ritem, info )
                 arch, speed, info)                   call pvmfbufinfo(bufid, bytes, msgtag, tid, info)
call pvmftasks( which, ntask, tid, ptid, dtid,                                                                    Quick Reference Guide
                 flag, task, info)                    call pvmfunpack( type, xp, nitem, stride, info )
call pvmfgetopt( what, val )
call pvmfsetopt( what, val, oldval )                  Declarations                                                Release 3.3
                                                        INTEGER about, bud, count, dtid, encoding
                                                        INTEGER 
ag, info, inum, msgtag, mstat
Group Operations                                        INTEGER narch, nhost, nitem, ntask, numt
call   pvmfjoingroup( group, inum )                     INTEGER oldbuf, oldset, oldval, pstat, ptid               March 21, 1994

                                                        INTEGER ritem, root, rtag, rtid, sec, set
call   pvmflvgroup( group, info )                       INTEGER signum, speed, stride, tid
call   pvmfgsize(     group, size )                     INTEGER tids(ntask), type, usec, which
call   pvmfgettid(    group, inum, tid )                CHARACTER arch, group, host, msg, task, where
                                                        'type' xp(nitem*stride)
call   pvmfgetinst( group, tid, inum )
call   pvmfbarrier( group, count, info )               ERROR CODE               MEANING
call   pvmfbcast(     group, msgtag, info )            PvmOk                0   okay
call   pvmfreduce( op, xp, nitem, type, tag,           PvmBadParam         -2   bad parameter                     University of Tennessee
                                                       PvmMismatch         -3   barrier count mismatch
                   group, root, info )                 PvmNoData           -5   read past end of buer
       op options                                      PvmNoHost           -6   no such host
                                                       PvmNoFile           -7   no such executable                Oak Ridge National Laboratory
 PvmMax      PvmMin   PvmSum   PvmProduct              PvmNoMem           -10   can't get memory
                                                       PvmBadMsg          -12   can't decode received msg
Message Buers                                         PvmSysErr
                                                       PvmNoBuf
                                                                          -14
                                                                          -15
                                                                                pvmd not responding
                                                                                no current buer                  Emory University
call   pvmfmkbuf( encoding, bufid )                    PvmNoSuchBuf       -16   bad message id
call   pvmffreebuf( bufid, info )                      PvmNullGroup       -17   null group name is illegal
                                                       PvmDupGroup        -18   already in group
call   pvmfgetsbuf( bufid )                            PvmNoGroup         -19   no group with that name
call   pvmfgetrbuf( bufid )                            PvmNotInGroup      -20   not in group
                                                       PvmNoInst          -21   no such instance in group
call   pvmfsetsbuf( bufid, oldbuf )                    PvmHostFail        -22   host failed
call   pvmfsetrbuf( bufid, oldbuf )                    PvmNoParent        -23   no parent task
call   pvmfinitsend( encoding, bufid )                 PvmNotImpl         -24   function not implemented
                                                       PvmDSysErr         -25   pvmd system error
                                                       PvmBadVersion      -26   pvmd-pvmd protocol mismatch
   Encoding options       MEANING                      PvmOutOfRes        -27   out of resources                   Obtaining PVM
  PvmDataDefault      0   XDR                          PvmDupHost         -28   host already congured
                                                       PvmCantStart       -29   failed to exec new slave pvmd
  PvmDataRaw          1   no encoding                  PvmAlready         -30   already doing operation            ftp: netlib2.cs.utk.edu directory pvm3/
  PvmDataInplace      2   data left in place           PvmNoTask          -31   no such task                       email: netlib@ornl.gov with the message
                                                       PvmNoEntry         -32   no such (group,instance)             send index from pvm3 .
                                                       PvmDupEntry        -33   (group,instance) already exists
C Interface                                                  Message Buers
#include "pvm3.h"                                            int   bufid      =   pvm_mkbuf(int encoding)                        Group Operations
                                                             int   info       =   pvm_freebuf(int bufid)                         int   inum =   pvm_joingroup(char *group)
Process Control                                              int   bufid      =   pvm_getsbuf(void)                              int   info =   pvm_lvgroup( char *group)
int   tid    =
           pvm_mytid(void)                                   int   bufid      =   pvm_getrbuf(void)                              int   size =   pvm_gsize(    char *group)
int   info   =
           pvm_exit( void)                                   int   oldbuf     =   pvm_setsbuf(int bufid)                         int   tid =    pvm_gettid( char *group, int inum)
int   info   =
           pvm_kill( int tid)                                int   oldbuf     =   pvm_setrbuf(int bufid)                         int   inum =   pvm_getinst( char *group, int tid)
int   info   =
           pvm_addhosts(char **hosts, int nhost,             int   bufid      =   pvm_initsend(int encoding)                     int   info =   pvm_barrier( char *group, int count)
                         int *infos)                                                                                             int   info =   pvm_bcast(    char *group, int msgtag)
int info = pvm_delhosts(char **hosts, int nhost,                   Encoding options         MEANING                              int   info =   pvm_reduce( void *op, void *vp, int cnt,
                         int *infos)                           PvmDataDefault           0   XDR                                           int   type, int msgtag, char *group, int root)
int numt = pvm_spawn(char *task, char **argv,                  PvmDataRaw               1   no encoding
                     int flag, char *where,                    PvmDataInPlace           2   data left in place                     op options           vp type options
                     int ntask, int *tids)                                                                                         PvmMax           PVM_BYTE    PVM_FLOAT
                                                             Sending                                                               PvmMin           PVM_SHORT   PVM_DOUBLE
   Spawn 
ag options         MEANING                                                                                               PvmSum           PVM_INT     PVM_CPLX
                                                             int   info   =   pvm_packf( printf-like format... )
  PvmTaskDefault       0     don't care where                                                                                      PvmProduct       PVM_LONG    PVM_DCPLX
                                                             int   info   =   pvm_pkbyte( char *cp, int cnt, int      std   )
  PvmTaskHost          1     \where" contains host           int   info   =   pvm_pkcplx( float *xp, int cnt, int     std   )
  PvmTaskArch          2     \where" contains arch           int   info   =   pvm_pkdcplx( double *zp, int cnt, int   std   )    Starting PVM
  PvmTaskDebug         4     start tasks with debug on       int   info   =   pvm_pkdouble(double *dp, int cnt, int   std   )
  PvmTaskTrace         8     start tasks with trace on       int   info   =   pvm_pkfloat( float *fp, int cnt, int    std   )    pvmd [-nhostname] [-d<debugmask>] [hostfile]
  PvmHostCompl        32     use complement host set         int   info   =   pvm_pkint( int      *np, int cnt, int   std   )    pvm [hostfile] (starts console)
                                                             int   info   =   pvm_pklong( long *np, int cnt, int      std   )
Information                                                  int   info   =   pvm_pkshort( short *np, int cnt, int    std   )    PVM Console Commands
int   tid    =
           pvm_parent(void)                                  int   info   =   pvm_pkstr( char *cp )                               help [command] { get information about commands
int   dtid   =
           pvm_tidtohost(int tid)                                                                                                 conf           { lists hosts in virtual machine
int   info pvm_perror(char *msg)
             =                                               int info = pvm_send( int tid, int msgtag )                           add    host(s) { add host(s) to virtual machine
int   info   =
           pvm_config(int *nhost, int *narch,                int info = pvm_mcast( int *tids, int ntask, int msgtag )             delete host(s) { delete host(s)
                      struct hostinfo **hostp)               int info = pvm_psend( int tid, int msgtag,                           spawn [opt] file { spawn process
int info = pvm_tasks(int which, int *ntask,                                         void *vp, int cnt, int type )                     -<count> { number of tasks to spawn
                     struct taskinfo **taskp)                Receiving                                                                -<host>    { host to spawn on
int    val = pvm_getopt(int what)                            int   bufid   =         int tid, int msgtag )
                                                                               pvm_recv(                                              ->         { redirect task output to console
int oldval = pvm_setopt(int what, int val)                   int   bufid   =   pvm_probe(
                                                                                     int tid, int msgtag )                            ->file     { redirect task output to le
                                                             int   bufid   =   pvm_nrecv(
                                                                                     int tid, int msgtag )                            ->>file    { append task output to le
       what option         SETS/GETS This                    int   bufid   =         int tid, int msgtag,
                                                                               pvm_precv(                                         ps [-a]        { lists processes on virtual machine
  PvmRoute            1    routing policy : PvmRouteDirect                           void *vp, int cnt, int type                  alias          { dene/list command aliases
  PvmDebugMask        2    debug level | PvmAllowDirect                              int *rtid, int *rtag, int *rlen )            unalias        { undene command alias
  PvmAutoErr          3    auto error reporting              int bufid = pvm_trecv( int tid, int msgtag,                          setenv         { set/show environment variables
  PvmOutputTid        4    stdout device for children                                struct timeval *tmout )                      echo           { echo arguments
  PvmOutputCode       5    output msgtag                     int info = pvm_bufinfo( int bufid, int *bytes,                       version        { print libpvm version
  PvmTraceTid         6    trace device for children                                 int *msgtag, int *tid)                       id             { print console tid
  PvmTraceCode        7    trace msgtag                                                                                           sig num tid    { send signal num to process
  PvmFragSize         8    message fragment size             int   info   =   pvm_unpackf( printf-like format... )                kill tid       { terminate a process
                                                             int   info   =   pvm_upkbyte( char *cp, int cnt, int      std   )    reset          { kill all processes and reset PVM
Signalling                                                   int   info   =   pvm_upkcplx( float *xp, int cnt, int     std   )    quit           { exit console (PVM continues)
int info = pvm_sendsig(int tid, int signum)                  int   info   =   pvm_upkdcplx( double *zp, int cnt, int   std   )    halt           { kill all pvmds and console
int info = pvm_notify(int about, int msgtag,                 int   info   =   pvm_upkdouble(double *dp, int cnt, int   std   )
                      int ntask, int *tids)                  int   info   =   pvm_upkfloat( float *fp, int cnt, int    std   )   Compiling PVM Applications
                                                             int   info   =   pvm_upkint( int      *np, int cnt, int   std   )    cc -o task myprog.c libpvm3.a
      About options        MEANING                           int   info   =   pvm_upklong( long *np, int cnt, int      std   )    f77 -o task myprog.f libfpvm3.a libpvm3.a
  PvmTaskExit         1    notify if task exit               int   info   =   pvm_upkshort( short *np, int cnt, int    std   )   For groups add libgpvm3.a before libpvm3.a
  PvmHostDelete       2    notify if deletion                int   info   =   pvm_upkstr( char *cp )
  PvmHostAdd          3    notify if addition