SETOPT(3PVM) SETOPT(3PVM)
NAME
pvm_setopt - Sets libpvm options.
SYNOPSIS
C int oldval = pvm_setopt( int what, int val )
Fortran call pvmfsetopt( what, val, oldval )
PARAMETERS
what Integer defining what to set. One of:
PvmRoute 1 Message routing policy
PvmDebugMask 2 Libpvm debug mask
PvmAutoErr 3 Auto error reporting
PvmOutputTid 4 Stdout destination for children
PvmOutputCode 5 Output message tag
PvmTraceTid 6 Trace data destination for children
PvmTraceCode 7 Trace message tag
PvmFragSize 8 Message fragment size
PvmResvTids 9 Allow messages to reserved tags and TIDs
PvmSelfOutputTid 10 Stdout destination
PvmSelfOutputCode 11 Output message tag
PvmSelfTraceTid 12 Trace data destination
PvmSelfTraceCode 13 Trace message tag
PvmShowTids 14 pvm_catchout prints task ids with output
val Integer specifying new setting of option. Predefined values for
PvmRoute are:
PvmDontRoute 1 Don't request or grant connections
PvmAllowDirect 2 (Default) Don't request but allow
PvmRouteDirect 3 Request and allow connections
oldval Integer returning the previous setting of the option.
DISCUSSION
The routine pvm_setopt is a general purpose function used to set miscel-
laneous options in the PVM library. What is one of:
PvmRoute
Advises PVM on whether to set up direct task-to-task links
PvmRouteDirect (using TCP) for all subsequent communication. Once a
link is established it persists until the application finishes. If a
direct link can not be established because one of the two tasks has
requested PvmDontRoute or because adequate resources aren't available,
then the default route through the PVM daemons is used. On multipro-
cessors such as Intel Paragon this option is ignored because the com-
munication between tasks on these machines always uses the native pro-
tocol for direct communication. pvm_setopt can be called multiple
times to selectively establish direct links, but is typically set only
once near the beginning of each task. PvmAllowDirect is the default
route setting. This setting on task A allows other tasks to set up
direct links to A. Once a direct link is established between tasks
both tasks will use it for sending messages.
PvmDebugMask
When debugging is turned on, PVM will log detailed information about
its operations and progress on its stderr stream. val is the debug-
ging level. Default is not to print any debug information.
PvmAutoErr
When an error results from a libpvm function call and PvmAutoErr is
set to 1 (the default), an error message is automatically printed on
stderr. Setting it to 0 disables this, while setting it to 2 causes
the library to terminate the task after printing the an error message.
PvmOutputTid
Sets the stdout destination for children tasks (spawned after the call
to pvm_setopt). Everything printed on the standard output of tasks
spawned by the calling task is packed into messages and sent to the
destination. val is the TID of a PVM task. Setting PvmOutputTid to 0
redirects stdout to the master pvmd, which writes to the log file
/tmp/pvml. The default setting is inherited from the parent task,
else is 0.
PvmOutputCode
Sets the message tag for standard output messages. Should only be set
when a task has PvmOutputTid set to itself.
PvmTraceTid
Sets the trace data message destination for children tasks (spawned
after the call to pvm_setopt). Libpvm trace data is sent as messages
to the destination. val is the TID of a PVM task. Setting PvmTra-
ceTid to 0 discards trace data. The default setting is inherited from
the parent task, else is 0.
PvmTraceCode
Sets the message tag for trace data messages. Should only be set when
a task has PvmTraceTid set to itself.
PvmFragSize
Val specifies the message fragment size in bytes. Default value
varies with host architecture.
PvmResvTids
A val of 1 enables the task to send messages with reserved tags and to
non-task destinations. The default (0) causes libpvm to generate a
PvmBadParam error when a reserved identifier is specified.
PvmSelfOutputTid
Sets the stdout destination for the task. Everything printed on
stdout is packed into messages and sent to the destination. Note:
this only works for spawned tasks, because the pvmd doesn't get the
output from tasks started by other means. val is the TID of a PVM
task. Setting PvmSelfOutputTid to 0 redirects stdout to the master
pvmd, which writes to the log file /tmp/pvml.. The default set-
ting is inherited from the parent task, else is 0. Setting either
PvmSelfOutputTid or PvmSelfOutputCode also causes both PvmOutputTid
and PvmOutputCode to take on the values of PvmSelfOutputTid and
PvmSelfOutputCode, respectively.
PvmSelfOutputCode
Sets the message tag for standard output messages.
PvmSelfTraceTid
Sets the trace data message destination for the task. Libpvm trace
data is sent as messages to the destination. val is the TID of a PVM
task. Setting PvmSelfTraceTid to 0 discards trace data. The default
setting is inherited from the parent task, else is 0. Setting either
PvmSelfTraceTid or PvmSelfTraceCode also causes both PvmTraceTid and
PvmTraceCode to take on the values of PvmSelfTraceTid and PvmSelfTra-
ceCode, respectively.
PvmSelfTraceCode
Sets the message tag for trace data messages.
pvm_setopt returns the previous value of the option.
EXAMPLES
C:
oldval = pvm_setopt( PvmRoute, PvmRouteDirect );
Fortran:
CALL PVMFSETOPT( PVMAUTOERR, 1, OLDVAL )
ERRORS
This error condition can be returned
PvmBadParam giving an invalid value.
SEE ALSO
pvm_getopt(3PVM)
Back to the alphabetical listing
Back to the listing of routines
for controling the virtual machine