CPU2006 Flag Description
Fujitsu Fujitsu SPARC M10-4S

Compilers: Oracle Solaris Studio 12.3, 1/13 Platform Specific Enhancement

Operating systems: Solaris 11

Last updated: 29-Jan-2013 gr

The text for many of the descriptions below was taken from the Oracle Studio Compiler Documentation, which is copyright © 2007-2013 Oracle Corporation, Inc. The original documentation can be found at docs.sun.com.

This document has both optimization flags (in the immediately following section) and a description of Platform Settings


Base Compiler Invocation

C benchmarks

C++ benchmarks


Peak Compiler Invocation

C benchmarks

C++ benchmarks


Base Portability Flags

400.perlbench

403.gcc

462.libquantum

483.xalancbmk


Peak Portability Flags

400.perlbench

403.gcc

462.libquantum

483.xalancbmk


Base Optimization Flags

C benchmarks

C++ benchmarks


Peak Optimization Flags

C benchmarks

400.perlbench

401.bzip2

403.gcc

429.mcf

445.gobmk

456.hmmer

458.sjeng

462.libquantum

464.h264ref

C++ benchmarks

471.omnetpp

473.astar

483.xalancbmk


Base Other Flags

C benchmarks

C++ benchmarks


Peak Other Flags

C benchmarks

C++ benchmarks


Implicitly Included Flags

This section contains descriptions of flags that were included implicitly by other flags, but which do not have a permanent home at SPEC.


Commands and Options Used to Submit Benchmark Runs

submit=submit=echo 'pbind -b...' > dobmk; sh dobmk

submit=echo 'pbind -b...' > dobmk; sh dobmk
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:


Shell, Environment, and Other Software Settings

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.

/etc/system settings

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

lpg_alloc_prefer=<n>
0 = the OS may allocate remote pages if the size requested is readily available in a remote locality group (default)
1 = Set lgroup page allocation to strongly prefer local pages.

maxusers=<n>
To increase the number of user processes derived by the system

ncsize=<n>
Defines the number of entries in the directory name look-up cache (DNLC). This parameter is used by UFS, NFS, and ZFS to cache elements of path names that have been resolved.

rlim_fd_cur=<n>
Defines the soft limit on file descriptors that a single process can have open.

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

zfs:zfs_arc_min=<n>
Controls the minimum amount of memory used in bytes by ZFS for caching of file system buffers.

zfs:zfs_arc_max=<n>
Controls the maximum amount of memory used in bytes by ZFS for caching of file system buffers.

Other Configurations

ZFS RAIDZ
In mirrored storage pool configuration, ZFS provides a RAID-Z configuration with either single or double parity fault tolerance. Single-parity RAID-Z is similar to RAID-5. Double-parity RAID-Z is similar to RAID-6.

Environment/shell variables

OMP_DYNAMIC=<TRUE|FALSE>
Enables (TRUE) or disables (FALSE) dynamic adjustment of the number of threads available for execution of parallel regions. The default is TRUE.

MTEXCLUSIVE=Y
By default, libmtmalloc allocates 2*NCPUS buckets from which allocations occur. Threads share buckets based on their thread ID. If MTEXCLUSIVE is invoked, then 4*NCPUS buckets are used. Threads with thread id less than 2*NCPUS receive an exclusive bucket and thus do not need to use locks. Allocation perfor- mance for these buckets may be dramatically increased. One enabled MTEXCLUSIVE can not be dis- abled. This feature can be enabled by setting the MTMALLOC_OPTION MTEXCLUSIVE to "Y" or "y" or any- thing beginning with "y". Alternatively it can be enabled by a call to mallocctl(3MALLOC).

OMP_NESTED=<TRUE|FALSE>
Enables or disables nested parallelism. Value is either TRUE or FALSE. The default is FALSE.

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

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

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

SUNW_MP_PROCBIND=<n>
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:

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.
If the value "TRUE" is used, the operating system will bind processes to processors, starting with processor 0.
If the value "SCATTER" is used, then the threads will be bound to virtual processors that are far apart.

SUNW_MP_THR_IDLE=SPIN
Controls the end-of-task status of each helper thread executing the parallel part of a program. You can set the value to spin, sleep ns, or sleep nms. The default is SPIN -- the thread spins (or busy-waits) after completing a parallel task until a new parallel task arrives. You can set the value to be one of the following: SLEEP( times), SLEEP(timems), SLEEP( timemc), where time is an integer that specifies an amount of time, and s, ms, and mc specify the time unit (seconds, milli-seconds, and micro-seconds, respectively).

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


Flag description origin markings:

[user] Indicates that the flag description came from the user flags file.
[suite] Indicates that the flag description came from the suite-wide flags file.
[benchmark] Indicates that the flag description came from a per-benchmark flags file.

The flags file that was used to format this result can be browsed at
http://www.spec.org/cpu2006/flags/Oracle-Solaris-Studio12.3-SPARC64X.20130522.html.

You can also download the XML flags source by saving the following link:
http://www.spec.org/cpu2006/flags/Oracle-Solaris-Studio12.3-SPARC64X.20130522.xml.


For questions about the meanings of these flags, please contact the tester.
For other inquiries, please contact webmaster@spec.org
Copyright 2006-2014 Standard Performance Evaluation Corporation
Tested with SPEC CPU2006 v1.2.
Report generated on Thu Jul 24 15:25:09 2014 by SPEC CPU2006 flags formatter v6906.