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