*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->IRIX man pages -> f90/pe_environ (5)              
Title
Content
Arch
Section
 

S(3F)

Contents


PE_ENVIRON(5)					      Last changed: 3-10-98

NAME    [Toc]    [Back]

     pe_environ	- Programming environment variables

IMPLEMENTATION    [Toc]    [Back]

     IRIX systems

DESCRIPTION    [Toc]    [Back]

     This man page describes environment variables used	when developing	and
     running MIPSpro 7 Fortran 90 programs on IRIX systems.  The
     environment variables are grouped by function and platform.

OPENMP FORTRAN API VARIABLES    [Toc]    [Back]

     The following environment variables are defined in	the OpenMP Fortran
     API.

     Variable	    Effect on system

     OMP_SCHEDULE   Sets the schedule type and (optionally) the	chunk size
		    for	DO and PARALLEL	DO loops declared with a schedule
		    of RUNTIME.	 For these loops, the schedule is set at
		    run	time when the system reads the value of	this
		    environment	variable.  Valid values	for this
		    environment	variable are STATIC, DYNAMIC, and GUIDED.
		    The	default	value for this environment variable is
		    STATIC.

		    For	DO and PARALLEL	DO directives that have	a schedule
		    type other than RUNTIME, this environment variable is
		    ignored.

		    If the optional chunk size is not set, a chunk size	of
		    1 is assumed, except in the	case of	a STATIC schedule.
		    For	a STATIC schedule, the default chunk size is set to
		    the	loop iteration space divided by	the number of
		    threads applied to the loop.

		    Examples:

		    setenv OMP_SCHEDULE	"GUIDED,4"
		    setenv OMP_SCHEDULE	"dynamic"

     OMP_NUM_THREADS    [Toc]    [Back]
		    Sets the number of threads to use during execution,
		    unless that	number is explicitly changed by	calling	the
		    OMP_SET_NUM_THREADS(3) subroutine.

		    When dynamic adjustment of the number of threads is
		    enabled, the value of this environment variable is the
		    maximum number of threads to use.  The default value is
		    the	minimum	of 8 and the number of CPUs on the system.

		    Example:

		    setenv OMP_NUM_THREADS 16

     OMP_DYNAMIC    Enables or disables	dynamic	adjustment of the number of
		    threads available for execution of parallel	regions.

		    If set to TRUE, the	number of threads that are used	for
		    executing parallel regions can be adjusted by the run
		    time environment to	best utilize system resources.	The
		    default value is TRUE.

		    If set to FALSE, dynamic adjustment	is disabled.

		    Example:

		    setenv OMP_DYNAMIC TRUE

     OMP_NESTED	    Enables or disables	nested parallelism.

		    If set to TRUE, nested parallelism is enabled.

		    If it is set to FALSE, it is disabled.  Default.

		    Example:

		    setenv OMP_NESTED TRUE

ORIGIN SERIES VARIABLES    [Toc]    [Back]

     The following environment variables are recognized	on Origin 2000,
     Origin 200, and Cray Origin 2000 systems.

     Variable	    Effect on system

     _DSM_BARRIER   Controls the barrier implementation	within the MP
		    run-time system.  This environment variable	accepts	one
		    of the following values:

		    Value     Action

		    FOP	      Uses the uncached	operations available on
			      Origin series systems.  FOP achieves the best
			      performance.  This requires kernel patch
			      #1856.

		    LLSC      Uses load-linked (LL), store-conditional (SC)
			      operations on shared memory.

		    SHM	      Uses regular shared memory.  Default.

     _DSM_MIGRATION Specifies aspects of automatic page	migration.  This
		    environment	variable accepts one of	the following
		    values:

		    Value     Action

		    OFF	      Disables migration.  Default.

		    ON	      Enables migration	for all	but explicitly
			      placed data (using PAGE_PLACE or a data
			      distribution directive).

		    ALL_ON    Enables migration	for all	data.

     _DSM_MIGRATION_LEVEL
		    Controls the aggressiveness	level of automatic page
		    migration.	This environment variable must be set to an
		    integer value between 0 (most conservative setting)	and
		    100	(most aggressive).  Specifying 0 disables this
		    feature.  The default setting is 100.

     _DSM_MUSTRUN   Locks each thread to the corresponding CPU.	 This
		    environment	variable is not	set by default.

     _DSM_OFF	    When set to	OFF, disables nonuniform memory	access
		    (NUMA) calls.  This	can be used, for example, to
		    allocate pages from	a particular memory.  On Origin
		    series systems, _DSM_OFF is	set to ON by default.  This
		    environment	variable is not	set by default.

     _DSM_PLACEMENT Allocates memory for all stack, data, and text
		    segments.  This environment	variable accepts the
		    following values:

		    Value	   Action

		    FIRST_TOUCH	   Specifies first-touch data placement.
				   Default.

		    ROUND_ROBIN	   Specifies round-robin data allocation.

     _DSM_PPM	    Specifies the number of processors to use per memory
		    module.  Must be set to an integer value.  To use only
		    one	processor per memory module, set this environment
		    variable to	1.

     _DSM_VERBOSE   When set, writes messages to stdout	about parameters
		    used during	execution to stdout.

     _DSM_WAIT	    Controls how a thread waits	for a synchronization
		    event, such	as a lock or a barrier.	 This environment
		    variable accepts one of the	following values:

		    Value     Action

		    SPIN      Specifies	that a thread wait in a	loop until
			      the synchronization event	succeeds.

		    YIELD     Specifies	that a waiting thread should spin
			      for a while and invokes sginap(2).  This
			      surrenders the CPU to another waiting process
			      (if any).	 Default.

MULTIPROCESSING	VARIABLES
     The multiprocessing environment variables allow you to set	up your
     multiprocessing environment.  Some	of the settings	that these
     environment variables control can also be set through library
     routines.	For more information on	the multiprocessing library
     routines, see MP(3F).

     NOTE:  Many of the	environment variables in the following list are
     outmoded.	The descriptions for each one indicate the preferred
     alternative, if one exists.

     Variable  Effect on system

     MP_SET_NUMTHREADS,	MP_BLOCKTIME, MP_SETUP,	and NUM_THREADS
	       Acts as an implicit call	to the following library routines:
	       MP_SET_NUMTHREADS(3F), MP_BLOCKTIME(3F),	and MP_SETUP(3F)
	       (respectively).

	       The MP_SET_NUMTHREADS environment variable determines the
	       number of processors across which an array is distributed
	       during program execution, regardless of the number of
	       processors physically present on	the machine.  As its value,
	       MP_SET_NUMTHREADS accepts one of	the following:	an integer
	       between 1 and the number	of CPUs	on your	system;	an integer
	       expression that includes	the symbols +, -, min, and max;	and
	       the special keyword all.	 The keyword all refers	to the
	       total number of CPUs on the machine.  The default is either
	       the number of CPUs on your system or 8.

	       MP_BLOCKTIME accepts an integer value.  MP_SETUP	accepts	no
	       values.

	       Example 1.  The following two specifications prevent the
	       slave threads from autoblocking:

		    set	MP_BLOCKTIME 0	  (for sh)

		    CALL MP_BLOCKTIME (0)    (library call)

	       Example 2.  The following setting selects the number of
	       threads to be two fewer than the	total number of	CPUs but
	       always at least one:

		    setenv MP_SET_NUMTHREADS max(1,all-2)    (for csh)

	       NOTE:  The MP_SET_NUMTHREADS and	NUM_THREADS environment
	       variables are outmoded.	The preferred alternative is the
	       OMP_SET_NUMTHREADS environment variable.

     MP_SIMPLE_SCHED    [Toc]    [Back]
	       Controls	simple scheduling of parallel loops.  This
	       environment variable accepts the	following values:

	       Value	 Action

	       EQUAL	 Distributes iterations	as equally as possible
			 across	the processors.

	       BLOCK	 Distributes iterations	in a BLOCK distribution.

	       If you are using	distributed arrays, the	default	BLOCK.	For
	       all other cases,	the default is EQUAL.  The critical path
	       (that is, the largest piece of the iteration space) is the
	       same in either case.

     MP_SUGNUMTHD and MPC_SUGNUMTHD
	       Enables an additional, asynchronous process that	monitors
	       the system load.	 This environment variable may be useful on
	       a system	with long-running jobs and varying workloads.

	       The process that	is enabled allows you to vary the number of
	       threads during execution	of some	jobs.  When idle processors
	       exist, the number of threads is increased, up to	the maximum
	       specified by MP_SET_NUMTHREADS.	When the system	load
	       increases, the number of	threads	is decreased, possibly to
	       as few as one.  Note that the number of threads being used
	       is adjusted only	at the start of	a parallel region (for
	       example,	at a DOACROSS directive); it is	not adjusted within
	       a parallel region.  Using this environment variable can
	       improve overall system throughput.  By avoiding excessive
	       concurrency, this feature can reduce delays at
	       synchronization points within a single application.

	       These environment variables are on by default.

	       NOTE:  The MP_SUGNUMTHD and MPC_SUGNUMTHD environment
	       variables are outmoded.	The preferred alternative is the
	       OMP_DYNAMIC environment variable.

     MP_SUGNUMTHD_MIN and MP_SUGNUMTHD_MAX
	       Limits the effect of MP_SUGNUMTHD.  These environment
	       variables accept	an integer value between 1 and the value of
	       MP_SET_NUMTHREADS.  When	these environment variables are
	       set, the	number of processors is	not lowered below the
	       MP_SUGNUMTHD_MIN	setting	and it is not increased	beyond the
	       MP_SUGNUMTHD_MAX	setting.

	       NOTE:  The MP_SUGNUMTHD_MIN and MP_SUGNUMTHD_MAX	environment
	       variables are outmoded.

     MP_SUGNUMTHD_VERBOSE    [Toc]    [Back]
	       Determines whether or not the system writes informational
	       messages	to stderr whenever the process changes the number
	       of threads in use.

	       The compiler interprets library calls to	MP_NUMTHREAD
 as a sign that	the application
	       depends on the number of	threads	in use,	and the	number is
	       frozen upon encountering	either of these	calls.	If
	       MP_SUGNUMTHD_VERBOSE is set, a message to that effect is
	       written to stderr.

	       By default, this	environment variable is	not set.

	       NOTE:  The MP_SUGNUMTHD_VERBOSE environment variable is
	       outmoded.  The preferred	alternative is the _DSM_VERBOSE
	       environment variable.

     MP_STACK_SLAVESIZE    [Toc]    [Back]
	       Controls	the stack size of slave	processes.  As its value,
	       it accepts an integer number that indicates the desired
	       stack size, in bytes.  The default is 16	Mbytes (4 Mbytes
	       for greater than	64 threads).  Slave processes allocate
	       their local data	only onto their	stacks.	 Shared	data, even
	       if allocated on the master's stack, is not counted.

     MP_SCHEDTYPE and CHUNK
	       Specifies the type of scheduling	to use on PARALLEL DO loops
	       with scheduling specified as RUNTIME.

	       The defaults are	the same as those for the DOACROSS
	       directive clauses.  If neither environment variable is set,
	       SIMPLE scheduling is assumed.  If MP_SCHEDTYPE is set and
	       CHUNK is	not set, a CHUNK of 1 is assumed.  If CHUNK is set,
	       but MP_SCHEDTYPE	is not set, DYNAMIC scheduling is assumed.

	       Example 1:  To set the scheduing	to INTERLEAVE, specify the
	       following (in the csh environment):

		    setenv MP_SCHEDTYPE	INTERLEAVE

	       Example 2.  To set the chunk size to 4, specify the
	       following (csh):

		    setenv CHUNK 4

	       For more	information on the DOACROSS directive, see the
	       MIPSPro 7 Fortran 90 Commands and Directives Reference
	       Manual, publication SR-3907.

	       NOTE:  The MP_SCHEDTYPE and CHUNK environment variables are
	       outmoded.  The preferred	alternative is the OMP_SCHEDULE
	       environment variable.

     MPC_GANG  Controls	the use	of gang	scheduling, which is enabled by
	       default.	 To disable gang scheduling, set this environment
	       variable	to OFF.

	       By default, this	environment variable is	not set.

	       NOTE:  The MPC_GANG environment variable	is outmoded.

     PAGESIZE_STACK, PAGESIZE_DATA, and	PAGESIZE_TEXT
	       Specifies the desired page size for each	of the stack, data,
	       and text	segments.  The default page size is 16 Kbytes on
	       IRIX 6.4	and later systems; the default is 4 Kbytes on
	       systems running previous	IRIX revisions.	 These environment
	       variables accept	an integer value that represents the
	       desired size in Kbytes.	Typical	values for this	environment
	       variable	are 4, 16, or 64.  Your	operating system may not be
	       able to accommodate larger values.  If unsuitable values	are
	       specified, the system may adjust	your page size to be lower
	       than requested.

I/O ENVIRONMENT	VARIABLES
     The following environment variables are used by the I/O libraries.

     FF_IO_AIO_LOCKS, FF_IO_AIO_NUMUSERS, FF_IO_AIO_THREADS
	       Specifies aspects of the	aioinit	structure.  This structure
	       contains	the following fields:  aio_locks, aio_numusers,	and
	       aio_threads.  These three environment variables alter the
	       values used for these fields.  For more information on using
	       these environment variables, see	the Application
	       Programmer's I/O	Guide, publication SG-2168, and	the
	       AIO_SGI_INIT(3) man page.

     FF_IO_LOGFILE    [Toc]    [Back]
	       Names a file to which statistics	are written by the event
	       FFIO layer.

     FILENV    Specifies the location of the assign environment
	       information.  Use FILENV	to assign a file name to store the
	       assign information or to	specify	that it	be stored in the
	       process environment.

MISCELLANEOUS ENVIRONMENT VARIABLES    [Toc]    [Back]

     The following miscellaneous environment variables also affect
     compiling.

     COMPILER_DEFAULTS_PATH    [Toc]    [Back]
		    Specifies the a path or a colon-separated lists of
		    paths designating where the	compiler is to look for	the
		    compiler.defaults file.

		    The	compiler.defaults file contains	the following line:

     -DEFAULT [:abi=abi] [:isa=mips_num] [:proc=proc_num] [:opt=opt_lvl]
     [:arith=arith_lvl]

		    The	information in this file is used when compiling
		    code unless	it is overridden by command line options.
		    The	following list indicates the values to be specified
		    on the -DEFAULT line and the command line options that
		    supercede the -DEFAULT line	specification:

		    abi	      Specifies	the Application	Binary Interface
			      (ABI).  The -n32 and -64 options to the
			      f90(1) command override this specification.
			      Specify either n32 or 64 for abi.

		    mips_num  Specifies	the Instruction	Set Architecture
			      (ISA).  The -mips4 and -mips4 options to the
			      f90(1) command override this specification.
			      Specify either mips3 or mips4 for	mips_num.

		    proc_num  Specifies	the processor number.  The -r4k,
			      -r5k, -r8k, and -r10k options to the f90(1)
			      command override this specification.  Specify
			      one of the following for proc_num:  r4k, r5k,
			      r8k, r10k.

		    opt_lvl   Specifies	the general optimization level used
			      when compiling.  The -O0,	-O1, -O2, and -O3
			      options to the f90(1) command override this
			      specification.  Specify one of the following
			      for opt_lvl:  0, 1, 2, 3.

		    arith_lvl Specifies	the IEEE arithmetic level used when
			      compiling.  The -OPT:IEEE_arith option to	the
			      f90(1) command overrides this specification.
			      Specify one of the following for arith_lvl:
			      1, 2, 3.

		    If no file is present, or if this environment variable
		    is not set,	the compiler looks in the default
		    directory, which is	/etc.

		    For	example, the following command line:

			 %f90 -64 myfile.f

		    overrides a	compiler.defaults file that contains:

			 -DEFAULT:abi=n32:isa=mips4:proc=r10k

		    and	performs a -64,	-mips4,	-r10000	compilation.

     F2CFLAGS	    Controls the Fortran-to-C interface.  As a value for
		    this environment variable, specify options to the
		    mkf2c(1) command.

		    For	example, if you	want to	pass the -l and	the -signed
		    command line options to mkf2c(1), and you are using	the
		    C shell, you can specify the following in your .cshrc
		    file:  setenv F2CFLAGS -signed -l.

     F90_BOUNDS_CHECK_ABORT    [Toc]    [Back]
		    Controls whether the compiler aborts compilation if	a
		    bounds check fails.

		    The	-C option on the f90(1)	command	performs array
		    bounds checking.  By default, the compilation continues
		    even if the	bounds check fails.  To	cause the compiler
		    to abort on	a failed bounds	check, set the
		    F90_BOUNDS_CHECK_ABORT environment variable	to YES.

     NLSPATH	    Affects compiler interactions with the message system.
		    For	more information, see catopen(3C).

     SGI_ABI	    Specifies the Application Binary Interface (ABI) used
		    during compilation.	 This environment variable can be
		    used to change the default ABI.  Specify -n32 or -64 as
		    values.  See GETABI(3C) for	more information.

     TMPDIR	    Specifies a	path for temporary files.  When	set, the
		    value used is the directory	in which the system places
		    temporary files, rather than the default, /tmp.

     TRAP_FPE	    Controls the handling and classifying of floating-point
		    exceptions and substitutes new values.  It also
		    provides a mechanism to count, trace, exit,	or abort on
		    enabled exceptions.	 The -TENV:check_div option on the
		    f90(1) command line	option inserts checks for divide by
		    zero and for overflow.  See	FSIGFPE(3F) for	information
		    on HANDLE_FSIGFPES,	which performs a function similar
		    to that of this environment	variable.  For more
		    information	on this	environment variable, including	its
		    possible values, see FSIGFPE(3F).

     _XPG	    Specifies that compilation should proceed according	to
		    X/Open XPG4	specifications.	 If set, f77 (or fort77, as
		    it is known	under XPG4) operates in	conformance with
		    the	X/Open XPG4 specifications.  The options and the
		    command line behavior may differ in	accordance to the
		    XPG4 standards.

CAUTIONS    [Toc]    [Back]

     The following two environment variables should not	be changed from
     their system-supplied default settings:  COMP_TARGET_ROOT and
     TOOLROOT.	By default, the	COMP_TARGET_ROOT environment variable is
     set to /.

SEE ALSO    [Toc]    [Back]

      
      
     assign(1),	f90(1),	mkf2c(1).

     catopen(3C), FSIGFPE(3F), GETABI(3C), MP(3F).

     Application Programmer's I/O Guide, publication SG-2168

     MIPSPro 7 Fortran 90 Commands and Directives Reference Manual,
     publication SR-3907

     This man page is available	only online.
[ Back ]
 Similar pages
Name OS Title
env Tru64 Displays or sets the current environment, or displays the values of environment variables
printenv Tru64 Displays or sets the current environment, or displays the values of environment variables
dtenvvar HP-UX CDE environment variables
pxfclearenv IRIX Clears all environment variables
pam_getenvlist FreeBSD returns a list of all the PAM environment variables
Env IRIX perl module that imports environment variables
consvar Tru64 Manipulate system firmware console environment variables
env IRIX set environment for command execution, print environment
m_fork IRIX parallel programming primitives
sprog FreeBSD secure programming practices
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service