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


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, bud, 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 congured
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 { dene/list command aliases
PvmDebugMask 2 debug level | PvmAllowDirect int *rtid, int *rtag, int *rlen ) unalias { undene 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
Get documents about "