SPEC CPU2006 Flag Description for the Intel(R) C++ and Fortran Compiler 10.1 for Intel 64 applications (32-bit versions used at peak for some benchmarks)

Copyright © 2006 Intel Corporation. All Rights Reserved.

Sections

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


Optimization Flags


Portability Flags


Compiler Flags


System and Other Tuning Information

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.

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=integer[B|K|M|G|T] (Linux)

Sets the number of bytes to allocate for each parallel thread to use as its private stack. Use the optional suffix B, K, M, G, or T, to specify bytes, kilobytes, megabytes, gigabytes, or terabytes. The default setting is 2M on IA32 and 4M on IA64.

KMP_AFFINITY

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.

Hardware Prefetcher:

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 Cache-Line 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:

This BIOS option enables/disables the Snoop Filter. 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.

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.

submit= MYMASK=`printf '0x%x' \$((1<<\$SPECCOPYNUM))`; /usr/bin/taskset \$MYMASK $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: