Copyright © 2006 Intel Corporation. All Rights Reserved.
One or more of the following settings may have been set. If so, the corresponding notes sections of the report will say so; and you can read below to find out more about what these settings mean.
Environment Variables
OMP_NUM_THREADS
This Environment Variable
sets the maximum number of threads to use for OpenMP* parallel regions
if no other value is specified in the application.
This environment variable applies to both -openmp and -parallel
(Linux and Mac OS X) or /Qopenmp and /Qparallel (Windows).
Example syntax on a Linux system with 8 cores:
export OMP_NUM_THREADS=8
Default is the number of cores visible to the OS.
KMP_STACKSIZE
This Environment Variable specifies the stack size to be allocated for each thread.
KMP_AFFINITY = < physical | logical >,starting-core-id
This Environment Variable specifies the static mapping of user threads to physical cores, for example, if you have a system configured with 8 cores, OMP_NUM_THREADS=8 and KMP_AFFINITY=physical,2. Thread 0 will mapped to core 2, thread 1 will be mapped to core 3, and so on in a round-robin fashion.
BIOS Settings
Hardware Prefetch:
This BIOS option allows the enabling/disabling of a processor mechanism to prefetch data into the cache according to a pattern-recognition algorithm.
In some cases, setting this option to Disabled may improve performance. Users should only disable this option after performing application benchmarking to verify improved performance in their environment.
Adjacent Sector Prefetch:
This BIOS option allows the enabling/disabling of a processor mechanism to fetch the adjacent cache line within an 128-byte sector that contains the data needed due to a cache line miss.
In some cases, setting this option to Disabled may improve performance. Users should only disable this option after performing application benchmarking to verify improved performance in their environment.
Snoop Filter Enabled/Disabled:
The Snoop Filter is designed to reduce system bus utilization
coming from cache misses. On the Intel 5000X and 5400 chipset,
it is built as a cache structure able to minimize unnecessary
snoop traffic.
When enabled, it can lead to significant memory performance
improvements for several workstation applications
on suitable memory configurations.
Enhanced Speedstep Technology Enabled/Disabled:
Disabling Enhanced Speedstep Technology results in running all processors
in maximal power/performance state.
Default is Enabled.
C1 Enhanced Mode Enabled/Disabled:
The C1 Enhanced Mode reduces power consunmption of CPUs in Halt state.
Linux commands
ulimit -s < n | unlimited >
This Linux command (a bash builtin command) sets the stack size to n kbytes, or unlimited to allow the stack size to grow without limit.
/usr/bin/taskset [options] [mask] [pid | command [arg] ... ]
This Linux command is used to set or retrieve the CPU affinity
of a running process given its PID or to launch a new COMMAND
with a given CPU affinity.
The option -c proclist or --cpu-list proclist
specifies a numerical list of processors to be used.
The list may contain multiple items, separated by comma,
and ranges. For example -c 0,5,7,9-11.
Example: /usr/bin/taskset -c 3 $command
executes $command on CPU 3.
SPEC config file feature submit
submit = /usr/bin/taskset -c $SPECCOPYNUM $command
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.
This specific submit command is used for Linux.
The description of the elements of the command are: