Intel Compilers for C++ and Fortran, Version 10.0; Copyright © 2006 Intel Corporation. All Rights Reserved.
Selecting one of the following will take you directly to that section:
optimize for speed, but disable some optimizations which increase code size for a small speed benefit. Includes inline expansion except for intrinsic functions, global optimizations, string pooling optimizations. On IA-32 Windows platforms, -O1 sets the following:
/Qunroll0, /Oi-, /Op-, /Oy, /Gy, /Os, /GF (/Qvc7 and above), /Gf (/Qvc6 and below), /Ob2, and /Og
This is the default level of optimization. Optimizes for speed. The -O2 option includes O1 optimizations and in addition enables inlining of intrinsics and more speed optimizations. On IA-32 Windows platforms, -O2 sets the following:
/Og, /Oi-, /Os, /Oy, /Ob2, /GF (/Qvc7 and above), /Gf (/Qvc6 and below), /Gs, and /Gy.
Builds on -01 and -02 optimizations by enabling high-level optimization. This level does not guarantee higher performance unless loop and memory access transformation take place. In conjunction with -QaxK/-QxK and QaxW/QxW, this switch causes the compiler to perform more aggressive data dependency analysis than for -O2. This may result in longer compilation times. On IA-32 Windows platforms, -O3 sets the following:
/GF (/Qvc7 and above), /Gf (/Qvc6 and below), and /Ob2
Enable use of ANSI aliasing rules in optimizations.
This option tells the compiler to assume that the program adheres to ISO C Standard aliasability rules. If your program adheres to these rules, then this option allows the compiler to optimize more aggressively. If it doesn't adhere to these rules, then it can cause the compiler to generate incorrect code.
enable single-file IP optimizations (within files, same as -Ob2)
Multi-file ip optimizations that includes:
- inline function expansion
- interprocedural constant propogation
- dead code elimination
- propagation of function characteristics
- passing arguments in registers
- loop-invariant code motion
The -fast option enhances execution speed across the entire program by including the following options that can improve run-time performance:
-O3 (maximum speed and high-level optimizations)
-Qipo (enables interprocedural optimizations across files)
-QxT (generate code specialized for Intel(R) Core(TM)2 Duo processors, Intel(R) Core(TM)2 Quad processors and Intel(R) Xeon(R) processors with SSSE3)
-Qprec-div- (disable -Qprec-div) where -Qprec-div improves precision of FP divides (some speed impact)
To override one of the options set by /fast, specify that option after the -fast option on the command line. The options set by /fast may change from release to release.
Code is optimized for Intel(R) Core(TM)2 Duo processors, Intel(R) Core(TM)2 Quad processors and Intel(R) Xeon(R) processors with SSSE3. The resulting code may contain unconditional use of features that are not supported on other processors. This option also enables new optimizations in addition to Intel processor-specific optimizations including advanced data layout and code restructuring optimizations to improve memory accesses for Intel processors.
Do not use this option if you are executing a program on a processor that is not an Intel processor. If you use this option on a non-compatible processor to compile the main program (in Fortran) or the function main() in C/C++, the program will display a fatal run-time error if they are executed on unsupported processors.
The -QxN and -QxP options target your program to run on Intel Pentium 4 and compatible Intel processors. The resulting code might contain unconditional use of features that are not supported on other processors. Programs, where the function main() is compiled with this option, will detect non compatible processors and generate an error message during execution. This option also enables new optimizations in addition to Intel processor specific optimizations.
These options also enable advanced data layout and code restructuring optimizations to improve memory accesses for Intel processors.
Allows the compiler to perform optimizations in FP divides that may impact precision while improving speed.
This option enables prefetch insertion optimization. To use this option, you must also specify O3.
The goal of prefetching is to reduce cache misses by providing hints to the processor about when data should be loaded into the cache.
Instrument program for profiling for the first phase of two-phase profile guided otimization. This instrumentation gathers information about a program's execution paths and data values but does not gather information from hardware performance counters. The profile instrumentation also gathers data for optimizations which are unique to profile-feedback optimization.
Instructs the compiler to produce a profile-optimized
executable and merges available dynamic information (.dyn)
files into a pgopti.dpi file. If you perform multiple
executions of the instrumented program, -Qprof_use merges
the dynamic information files again and overwrites the
previous pgopti.dpi file.
Without any other options, the current directory is
searched for .dyn files
Enable C++ Exception Handling and RTTI
This option has the same effect as specifying /GX /GR.
This option enables C++ exception handling.
Enables C++ Run Time Type Information (RTTI).
Enable SmartHeap library usage by forcing the linker to ignore multiple definitions
Enable SmartHeap library usage by forcing the linker to ignore multiple definitions
MicroQuill SmartHeap Library 8.0 available from http://www.microquill.com/
set the stack reserve amount specified to the linker
Tells the compiler the maximum number of times to unroll loops.
Disables inline expansion of all intrinsic functions.
Disables conformance to the ANSI C and IEEE 754 standards for floating-point arithmetic.
Allows use of EBP as a general-purpose register in optimizations.
This option enables most speed optimizations, but disables some that increase code size for a small speed benefit.
This option enables global optimizations.
Specifies the level of inline function expansion.
Ob0 - Disables inlining of user-defined functions. Note that statement functions are always inlined.
Ob1 - Enables inlining when an inline keyword or an inline attribute is specified. Also enables inlining according to the C++ language.
Ob2 - Enables inlining of any function at the compiler's discretion.
This option tells the compiler to separate functions into COMDATs for the linker.
This option enables read only string-pooling optimization.
This option enables read/write string-pooling optimization.
This option disables stack-checking for routines with 4096 bytes of local variables and compiler temporaries.
Enables generation of streaming stores for optimization.
always - Enables generation of streaming stores for optimization. The compiler optimizes under the assumption that the application is memory bound.
auto - compiler decides when streaming stores are used (DEFAULT)
never - disables generation of streaming stores
Directs the compiler to generate specialized and optimized code for the processor that executes your program.
When -QxW is used, code is optimized for Intel Pentium III and compatible Intel processors.
Enables the compiler to use SSE2 instructions.
For mixed-language benchmarks, tell the compiler to convert routine names to lowercase for compatibility
For mixed-language benchmarks, tell the compiler to assume that routine name end with an underscore
Tell the compiler to treat source files as C++
-Qoption,string,options This option passes options to a specified tool.
string Is the name of the tool.
Here: cpp indicates the C++ preprocessor.
options Are one or more comma-separated,
valid options for the designated tool.
Here: --no_wchar_t_keyword is passed to C++ preprocessor to provide
the information that there is no wchar_t keyword.
This flag must be used to avoid syntax errors coming from the use of wchar_t in 483.xalancbmk.
Invoke the Intel C/C++ compiler for 32 bit applications in MS VC .Net 2003 compatibility mode
Invoke the Intel Fortran compiler for 32 bit applications
Invoke the Intel C compiler in C99 mode
Invoke the Intel C and C++ compilers in .Net 2003 compatibility mode
Invoke the Intel C and C++ compilers in Microsoft Visual Studio 2005 compatibility mode
Platform settings
One or more of the following settings may have been set. 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.
Power Regulator for ProLiant support (Default=HP Dynamic Power Savings Mode)
Values for this BIOS setting can be:
Adjacent Sector Prefetch (Default = Enabled):
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 limited cases, setting this option to Disabled may improve performance. In the majority of cases, the default value of Enabled provides better performance. Users should only disable this option after performing application benchmarking to verify improved performance in their environment.
submit= specperl -e "system sprintf qq{start /b /wait /affinity %x %s}, (1<<$SPECCOPYNUM), qq{ $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 Windows. The description of the elements of the command are: