Sun Microsystems SPEC CPU Flags: Sun-OpenSolaris-Studio-x86_64

Compilers: Sun Studio Express 11/08

Operating systems: OpenSolaris 2008.05

Last updated: 18-Aug-2008 cds

The text for many of the descriptions below was taken from the Sun Studio Compiler Documentation, which is copyright © 2007 Sun Microsystems, Inc. The original documentation can be found at


Selecting one of the following will take you directly to that section:

Optimization Flags

Compiler Flags

Other Flags

Forbidden Flags

System and Other Tuning Information

Platform settings

One or more of the following settings may have been applied to the testbed. If so, the "Platform Notes" section of the report will say so; and you can read below to find out more about what these settings mean.

autoup=<n> (Unix)
When the file system flush daemon fsflush runs, it writes to disk all modified file buffers that are more than n seconds old.

PARALLEL=<n> (Unix)
If programs have been compiled with -xautopar, this environment variable can be set to the number of processors that programs should use.

If programs have been compiled with -xautopar, this environment variable can be set to the number of processors that programs should use.

This environment variable can be used to bind the LWPs (lightweight processes) managed by the microtasking library, libmtsk, to processors. Performance can be enhanced with processor binding, but performance degradation will occur if multiple LWPs are bound to the same processor.
The value for SUNW_MP_PROCBIND can be - The string TRUE or FALSE (in any case). - a non-negative integer. - a list of two or more non-negative integers separated by one or more spaces (" "). - two non-negative integers, n1 and n2, separated by a minus ("-"); n1 must be less than or equal to n2.
Integers in the above denote the "logical" processor IDs to which the LWPs are to be bound. Logical processor IDs are consecutive integers that start with 0, and may or may not be identical to the actual processsor IDs. If n processors are available online, then their logical processor IDs are 0, 1, ..., n-1.
By default, LWPs are not bound to processors. It is left up to the operating system, Solaris, to schedule LWPs onto processors.

Enables or disables nested parallelism. Value is either TRUE or FALSE.

Enables (TRUE) or disables (FALSE) dynamic adjustment of the number of threads available for execution of parallel regions.


STACKSIZE=<n> (Unix)
Set the size of the stack (temporary storage area) for each slave thread of a multithreaded program.

submit=echo 'pbind -b...' > dobmk; sh dobmk (SPEC tools, Unix)
When running multiple copies of benchmarks, the SPEC config file feature submit is sometimes used to cause individual jobs to be bound to specific processors. If so, the specific command may be found in the config file; here is a brief guide to understanding that command:

tune_t_fsflushr=<n> (Unix)
Controls the number of seconds between runs of the file system flush daemon, fsflush.

lpg_alloc_prefer=<n> (Unix)
Set lgroup page allocation to strongly prefer local pages.

ulimit -s <n> (Unix)
Sets the stack size to n kbytes, or "unlimited" to allow the stack size to grow without limit.