Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
SETOPT(3PVM)			 PVM Version 3.4		    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 for children
	     PvmTraceTid	   6	Trace data destination for children
	     PvmTraceCode	   7	Trace message tag for children
	     PvmTraceBuffer	   8	Trace buffer size for children
	     PvmTraceOptions	   9	Trace collection options for children
	     PvmFragSize	  10	Message fragment size
	     PvmResvTids	  11	Allow messages to reserved tags and TIDs
	     PvmSelfOutputTid	  12	Stdout destination
	     PvmSelfOutputCode	  13	Output message tag
	     PvmSelfTraceTid	  14	Trace data destination
	     PvmSelfTraceCode	  15	Trace message tag
	     PvmSelfTraceBuffer   16	Trace buffer size
	     PvmSelfTraceOptions  17	Trace collection options
	     PvmShowTids	  18	pvm_catchout prints task ids with output
	     PvmPollType	  19	Message wait policy (shared memory)
	     PvmPollTime	  20	Message spinwait duration
	     PvmOutputContext	  21	Output message context for children
	     PvmTraceContext	  22	Trace message context for children
	     PvmSelfOutputContext 23	Output message context
	     PvmSelfTraceContext  24	Trace message context
	     PvmNoReset 	  25	Do not kill task on reset

     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

	     Predefined values for PvmTraceOptions are:
	     PvmTraceFull      1    (Default) Do full trace events
	     PvmTraceTime      2    Only do PVM routine timings
	     PvmTraceCount     3    Only do PVM routine profiling (call counts)

	     Predefined values for PvmPollType are:
	     PvmPollConstant   1    Spin on its message queue
	     PvmPollSleep      2    Poll the message queue PvmPollTime times

     oldval  Integer returning the previous setting of the option.

DESCRIPTION
     The  routine pvm_setopt is a general purpose function used to set miscella-
     neous options in the PVM library.	What is one of:

     PvmRoute
	    Advises PVM on whether to set up direct task-to-task links PvmRoute-
	    Direct (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  re-
	    quested PvmDontRoute or because adequate resources aren't available,
	    then  the  default route through the PVM daemons is used.  On multi-
	    processors such as Intel Paragon this option is ignored because  the
	    communication between tasks on these machines always uses the native
	    protocol  for direct communication.  pvm_setopt can be called multi-
	    ple 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 estab-
	    lished 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.   A  setting  of 0 disables this.  A setting of 2 causes the
	    library to terminate the task by calling exit() after  printing  the
	    error  message.   A  setting  of 3 causes the library to abort after
	    printing the 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 PvmOut-
	    putTid to 0 redirects stdout to the master pvmd, which writes to the
	    log file /tmp/pvml.<uid> 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 mes-
	    sages to the destination.  val is the TID of a  PVM  task.	 Setting
	    PvmTraceTid to 0 discards trace data.  The default setting is inher-
	    ited 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.

     PvmTraceBuffer
	    Sets the trace buffer size for trace event	collection  (in  bytes).
	    Rather than send a separate message for each trace event, the events
	    are  written  to a message buffer until the buffer reaches PvmTrace-
	    Buffer bytes.  Then a single large trace message is sent.  This  can
	    greatly  reduce tracing intrusion.	Make sure you call pvm_exit() in
	    your tasks to flush the trace buffer!

     PvmTraceOptions
	    Sets the PVM built-in tracing options.  This is  useful  for  custom
	    trace  collection  tools to allow analysis of library routine execu-
	    tion times and invocation counts.  By  default,  tracing  with  Pvm-
	    TraceFull  produces full trace events with calling arguments and re-
	    turn values.  Using PvmTraceTime produces total time spent executing
	    each library routine.  The PvmTraceCount option keep only a count of
	    the number of times each routine was called.

     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  calling  task.   Everything
	    printed  on  stdout is packed into messages and sent to the destina-
	    tion.  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 std-
	    out  to  the  master  pvmd,   which   writes   to	the   log   file
	    /tmp/pvml.<uid>.   The  default setting is inherited from the parent
	    task, else is 0.  Setting either PvmSelfOutputTid or  PvmSelfOutput-
	    Code  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  calling  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 PvmSelfTraceCode, respectively.

     PvmSelfTraceCode
	    Sets the message tag for trace data messages.

     PvmSelfTraceBuffer
	    Sets the trace buffer size for trace event collection (in bytes).

     PvmSelfTraceOptions
	    Sets the PVM built-in tracing options for the calling task (see Pvm-
	    TraceOptions).

     PvmShowTids
	    If true (nonzero), pvm_catchout tags each line of output printed  by
	    a  child  task  with  the  task id.  Otherwise, output is exactly as
	    printed.

     PvmPollType
	    Sets the message wait policy when using shared-memory message trans-
	    port.  Setting PvmPollType to PvmPollConstant causes the application
	    to spin on its message queue waiting for a	message.   Setting  Pvm-
	    PollType  to PvmPollSleep causes the application to poll the message
	    queue for messages PvmPollTime times before  pending  on  the  sema-
	    phore.

     PvmPollTime
	    Sets  the  poll  count for applications checking their message queue
	    before they pend on the semaphore.	This option is ignored	if  Pvm-
	    PollType is set to PvmPollConstant.

     PvmOutputContext
	    Sets  the  message context for output collection messages from chil-
	    dren.

     PvmTraceContext
	    Sets the message context for trace data messages from children.

     PvmSelfOutputContext
	    Sets the message context for  output  collection  from  the  calling
	    task.

     PvmSelfTraceContext
	    Sets  the  message	context for trace data messages from the calling
	    task.

     PvmNoReset
	    When set true (non-zero integer value) informs PVM *not* to kill off
	    the calling task when performing a "reset" command, such  as  issued
	    by the "pvm" console.

     pvm_setopt  returns  the previous value of the option.  If an error occurs,
     the PVM error code is returned in place of the option value.

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)

				  4 April, 1994 		    SETOPT(3PVM)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=pvm_setopt&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>

home | help