1 Star 0 Fork 0

zhangdaolong/speccpu2006-config-flags

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
FSC_Intel_flags.xml 16.27 KB
一键复制 编辑 原始数据 按行查看 历史
zhangdaolong 提交于 2024-04-07 09:28 . add flag file
<?xml version="1.0"?>
<!DOCTYPE flagsdescription SYSTEM "http://www.spec.org/dtd/cpuflags1.dtd">
<flagsdescription>
<filename>FSC_Intel_flags.xml</filename>
<title>Fujitsu Siemens Computers SPEC CPU2006 Flag Description</title>
<style>
<![CDATA[
body { background: white; }
]]>
</style>
<header>
<![CDATA[
<p>Compilers: Intel Compilers for C++ and Fortran, Version 10.0
for IA32/EM64T-based applications in Linux_x64<br />
Operating system: 64-bit SUSE Linux 10 Enterprise Edition<br />
Last updated: 01-June-2007 by Paul Sawatzki
</p>
<p>The text for many of the descriptions below was taken from the documentation of the Intel Compilers.
This documentation is copyright &copy; 2006 Intel Corporation. All Rights Reserved.<br />
The original documentation is distributed with the Intel compilers.
</p>
]]>
</header>
<platform_settings>
<![CDATA[
<p><b>Platform settings</b></p>
<p>One or more of the following settings may have been set. If so, the "General Notes" section of the
report will say so; and you can read below to find out more about what these settings mean.
</p>
<p><b>Hardware Prefetch:</b></p>
<p>This BIOS option allows the enabling/disabling of a processor mechanism to
prefetch data into the cache according to a pattern-recognition algorithm.
</p>
<p>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.
</p>
<p><b>Adjacent Sector Prefetch:</b></p>
<p>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.
</p>
<p>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.
</p>
<p><b>-I<path></b></p>
<p>Compiler option to set the path for include files.<br />
Used in some integer peak benchmarks which were built using the Intel 64-bit compiler.
Used in some floating point peak benchmarks which were built using the Intel 32-bit compiler.
</p>
<p><b>-L<path></b></p>
<p>Compiler option to set the path for library files.<br />
Used in some integer peak benchmarks which were built using the Intel 64-bit compiler.
Used in some floating point peak benchmarks which were built using the Intel 32-bit compiler.
</p>
<p><b>ulimit -s <n></b></p>
<p>Sets the stack size to <b>n</b> kbytes, or <b>unlimited</b> to allow the stack size to grow without limit.
</p>
<p><b>submit= MYMASK=`printf '0x%x' \$((1<<\$SPECCOPYNUM))`; /usr/bin/taskset \$MYMASK $command </b></p>
<p>When running multiple copies of benchmarks, the SPEC config file feature <b>submit</b> 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:
<ul>
<li><b>/usr/bin/taskset [options] [mask] [pid | command [arg] ... ]</b>:<br />
taskset is used to set or retreive the CPU affinity of a running process given its PID or to launch a new COMMAND with a given CPU
affinity. The CPU affinity is represented as a bitmask, with the lowest order bit corresponding to the first logical CPU and highest
order bit corresponding to the last logical CPU. When the taskset returns, it is guaranteed that the given program has been scheduled
to a legal CPU.<br /><br />
The default behaviour of taskset is to run a new command with a given affinity mask: <br /><br />
taskset [mask] [command] [arguments]</li>
<li><b>$MYMASK</b>: The bitmask (in hexadecimal) corresponding to a specific SPECCOPYNUM. For example, $MYMASK value for the first
copy of a rate run will be 0x00000001, for the second copy of the rate will be 0x00000002 etc. Thus, the first copy of the rate run
will have a CPU affinity of CPU0, the second copy will have the affinity CPU1 etc.</li>
<li><b>$command</b>: Program to be started, in this case, the benchmark instance to be started.</li>
</ul>
</p>
]]>
</platform_settings>
<!-- OPTIMIZATION -->
<flag name="f-fast" class="optimization">
<example>-fast</example>
<![CDATA[
<p>The -fast option enhances execution speed across the entire program by including the following options
that can improve run-time performance:</p>
<ul>
<li>-O3</li>
<li>-no-prec-div</li>
<li>-xT</li>
<li>-ipo</li>
<li>-static</li>
</ul>
</p>
<p>To override one of the options set by /fast, specify that option after the -fast option on the command line.
The exception is the -xT option which can't be overridden. The options set by /fast may change from release to release.
</p>
]]>
<include flag="F-O3"/>
<include flag="F-ipo"/>
<include flag="F-xT"/>
<include flag="F-no-prec-div"/>
<include flag="F-static"/>
</flag>
<flag name="F-O3" class="optimization" regexp="[-/]O3">
<example>-O3</example>
<![CDATA[
<p>Enables O2 optimizations plus more aggressive optimizations, such as prefetching, scalar replacement, and loop and memory
access transformations. Enables optimizations for maximum speed, such as:
<ul>
<li>- Loop unrolling, including instruction scheduling</li>
<li>- Code replication to eliminate branches</li>
<li>- Padding the size of certain power-of-two arrays to allow more efficient cache use.</li>
</ul>
On IA-32 and Intel EM64T processors, when O3 is used with options -ax or -x (Linux) or with options /Qax or /Qx (Windows), the compiler
performs more aggressive data dependency analysis than for O2, which may result in longer compilation times.<br />
The O3 optimizations may not cause higher performance unless loop and memory access transformations take place. The optimizations may slow
down code in some cases compared to O2 optimizations.<br /> The O3 option is recommended for applications that have loops that heavily
use floating-point calculations and process large data sets.
</p>
]]>
<include flag="F-O2"/>
</flag>
<flag name="F-O2" class="optimization" regexp="[-/]O2">
<example>-O2</example>
<![CDATA[
<p>Enables optimizations for speed. This is the generally recommended optimization level. This option also enables:
<ul>
<li>- Inlining of intrinsics</li>
<li>- Intra-file interprocedural optimizations, which include:
<ul>
<li>- inlining</li>
<li>- constant propagation</li>
<li>- forward substitution</li>
<li>- routine attribute propagation</li>
<li>- variable address-taken analysis</li>
<li>- dead static function elimination</li>
<li>- removal of unreferenced variables</li>
</ul>
<li>- The following capabilities for performance gain:</li>
<ul>
<li>- constant propagation</li>
<li>- copy propagation</li>
<li>- dead-code elimination</li>
<li>- global register allocation</li>
<li>- global instruction scheduling and control speculation</li>
<li>- loop unrolling</li>
<li>- optimized code selection</li>
<li>- partial redundancy elimination</li>
<li>- strength reduction/induction variable simplification</li>
<li>- variable renaming</li>
<li>- exception handling optimizations</li>
<li>- tail recursions</li>
<li>- peephole optimizations</li>
<li>- structure assignment lowering and optimizations</li>
<li>- dead store elimination</li>
</ul>
</ul>
</p>
]]>
<include flag="f-O1"/>
</flag>
<flag name="f-O1" class="optimization" regexp="[-/]-O1">
<example>-O1</example>
<![CDATA[
<p>Enables optimizations for speed and disables some optimizations that increase code size and affect speed.<br />
To limit code size, this option:
<ul>
<li>- Enables global optimization; this includes data-flow analysis, code motion, strength reduction and test replacement, split-lifetime
analysis, and instruction scheduling.</li>
<li>- Disables intrinsic recognition and intrinsics inlining.</li>
</ul>
The O1 option may improve performance for applications with very large code size, many branches, and execution time not dominated
by code within loops.
</p>
]]>
</flag>
<flag name="F-ipo" class="optimization" regexp="[-/]ipo">
<example>-ipo</example>
<![CDATA[
<p>Multi-file ip optimizations that includes:
<ul>
<li>- inline function expansion</li>
<li>- interprocedural constant propogation</li>
<li>- dead code elimination</li>
<li>- propagation of function characteristics</li>
<li>- passing arguments in registers</li>
<li>- loop-invariant code motion
</ul>
</p>
]]>
</flag>
<flag name="F-xT" class="optimization" regexp="[-/]xT">
<example>-xT</example>
<![CDATA[
<p>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.
</p>
<p>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.
</p>
]]>
</flag>
<flag name="F-no-prec-div" class="optimization" regexp="[-/]no-prec-div">
<example>-no-prec-div</example>
<![CDATA[
<p>-Qprec-dev improves precision of floating-point divides. It has a slight impact on speed. -Qprec-dev- disables this option and enables
optimizations that give slightly less precise results than full IEEE division.
</p>
<p>When you specify -Qprec-dev- along with some optimizations, such as -xN and -xB (Linux) or /QxN and /QxB (Windows), the compiler may
change floating-point division computations into multiplication by the reciprocal of the denominator. For example, A/B is computed
as A * (1/B) to improve the speed of the computation.
</p>
<p>However, sometimes the value produced by this transformation is not as accurate as full IEEE division. When it is important to have fully
precise IEEE division, do not use -Qprec-dev- which will enable the default -Qprec-dev and the result is more accurate, with some loss of
performance.
</p>
]]>
</flag>
<flag name="F-static" class="optimization" regexp="[-/]static">
<example>-static</example>
<![CDATA[
<p>-static prevents linking with shared libraries.</p>
]]>
</flag>
<flag name="F-prof_gen" class="optimization" regexp="[-/]prof_gen">
<example>-prof_gen</example>
<![CDATA[
<p>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.
</p>
]]>
</flag>
<flag name="F-prof_use" class="optimization" regexp="[-/]prof_use">
<example>-prof_use</example>
<![CDATA[
<p>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, -prof-use merges the dynamic
information files again and overwrites the previous pgopti.dpi file.<br />
Without any other options, the current directory is searched for .dyn files.
</p>
]]>
</flag>
<flag name="F-L_SmartHeap" class="optimization" regexp="[-/]L\/opt\/SmartHeap_8_1\/lib -lsmartheap">
<example>-L/opt/SmartHeap_8_1/lib -lsmartheap</example>
<![CDATA[
<p>Link with SmartHeap Library.<br />Available from: <a href="http://www.microquill.com">http://www.microquill.com</a></p>
]]>
</flag>
<flag name="F-ansi-alias" class="optimization" regexp="[-/]ansi-alias">
<example>-ansi-alias</example>
<![CDATA[
<p>Enable/disable(DEFAULT) use of ANSI aliasing rules in optimizations; user asserts that the program adheres to these rules.</p>
]]>
</flag>
<flag name="F-unroll_n" class="optimization" regexp="[-/]unroll\d+">
<![CDATA[
<p>Tells the compiler the maximum number of times to unroll loops.</p>
]]>
</flag>
<flag name="F-prefetch" class="optimization" regexp="[-/]prefetch">
<![CDATA[
<p>Enable/disable(DEFAULT) the compiler to generate prefetch instructions to prefetch data.</p>
]]>
</flag>
<flag name="F-opt-streaming-stores-always" class="optimization" regexp="[-/]opt-streaming-stores.always">
<![CDATA[
<p>Specifies whether streaming stores are generated:
<ul>
<li>always - enables generation of streaming stores under the assumption that the application is memory bound</li>
<li>auto - compiler decides when streaming stores are used (DEFAULT)</li>
<li>never - disables generation of streaming stores</li>
</ul>
</p>
]]>
</flag>
<!-- /OPTIMIZATION -->
<!-- PORTABILITY -->
<!-- currently there are no flags in the class "PORTABILITY" -->
<!-- /PORTABILITY -->
<!-- COMPILER -->
<flag name="Ficc-32bit" class="compiler" regexp="/opt/intel/cc/10.0.023/bin/icc">
<example>/opt/intel/cc/10.0.023/bin/icc</example>
<![CDATA[
<p>/opt/intel/cc/10.0.023/bin/icc invokes the 32-bit Intel C compiler.<br /> Also used to invoke linker for 32-bit C programs.</p>
]]>
</flag>
<flag name="Ficpc-32bit" class="compiler" regexp="/opt/intel/cc/10.0.023/bin/icpc">
<example>/opt/intel/cc/10.0.023/bin/icpc</example>
<![CDATA[
<p>/opt/intel/cc/10.0.023/bin/icpc invokes the 32-bit Intel C++ compiler.<br /> Also used to invoke linker for 32-bit C++ programs.</p>
]]>
</flag>
<flag name="Ficc-64bit" class="compiler" regexp="/opt/intel/cce/10.0.023/bin/icc">
<example>/opt/intel/cce/10.0.023/bin/icc</example>
<![CDATA[
<p>/opt/intel/cce/10.0.023/bin/icc invokes the 64-bit Intel C compiler.<br /> Also used to invoke linker for 64-bit C programs.</p>
]]>
</flag>
<flag name="Ficc91-64bit" class="compiler" regexp="/opt/intel/cce/9.1.049/bin/icc">
<example>/opt/intel/cce/9.1.049/bin/icc</example>
<![CDATA[
<p>/opt/intel/cce/9.1.049/bin/icc invokes the 64-bit Intel C compiler.<br /> Also used to invoke linker for 64-bit C programs.</p>
]]>
</flag>
<flag name="Ficc" class="compiler" regexp="icc">
<example>icc</example>
<![CDATA[
<p> Invoke the Intel C compiler.<br /> Also used to invoke linker for C programs.</p>
]]>
</flag>
<flag name="Ficpc" class="compiler" regexp="icpc">
<example>icpc</example>
<![CDATA[
<p> Invoke the Intel C++ compiler.<br /> Also used to invoke linker for C++ programs.</p>
]]>
</flag>
<flag name="Ficc-32bit-includepath" class="compiler" regexp="-I/opt/intel/cc/10.0.023/include">
<example>-I/opt/intel/cc/10.0.023/include</example>
<![CDATA[
<p>-I/opt/intel/cc/10.0.023/include is the include path of 32-bit Intel C/C++ compiler</p>
]]>
</flag>
<flag name="Ficc-64bit-includepath" class="compiler" regexp="-I/opt/intel/cce/10.0.023/include">
<example>-I/opt/intel/cce/10.0.023/include</example>
<![CDATA[
<p>-I/opt/intel/cce/10.0.023/include is the include path of 64-bit Intel C/C++ compiler</p>
]]>
</flag>
<flag name="Ficc91-64bit-includepath" class="compiler" regexp="-I/opt/intel/cce/9.1.049/include">
<example>-I/opt/intel/cce/9.1.049/include</example>
<![CDATA[
<p>-I/opt/intel/cce/9.1.049/include is the include path of 64-bit Intel C/C++ compiler</p>
]]>
</flag>
<flag name="Ficc-32bit-libpath" class="compiler" regexp="-L/opt/intel/cc/10.0.023/lib">
<example>-L/opt/intel/cc/10.0.023/lib</example>
<![CDATA[
<p>-L/opt/intel/cc/10.0.023/lib is the library path of 32-bit Intel C/C++ compiler</p>
]]>
</flag>
<flag name="Ficc-64bit-libpath" class="compiler" regexp="-L/opt/intel/cce/10.0.023/lib">
<example>-L/opt/intel/cce/10.0.023/lib</example>
<![CDATA[
<p>-L/opt/intel/cce/10.0.023/lib is the library path of 64-bit Intel C/C++ compiler</p>
]]>
</flag>
<flag name="Ficc91-64bit-libpath" class="compiler" regexp="-L/opt/intel/cce/9.1.049/lib">
<example>-L/opt/intel/cce/9.1.049/lib</example>
<![CDATA[
<p>-L/opt/intel/cce/9.1.049/lib is the library path of 64-bit Intel C/C++ compiler</p>
]]>
</flag>
<!-- /COMPILER -->
<!-- OTHER -->
<!-- currently there are no flags in the class "other" -->
<!-- /OTHER -->
</flagsdescription>
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/zhangdaolong/speccpu2006-config-flags.git
[email protected]:zhangdaolong/speccpu2006-config-flags.git
zhangdaolong
speccpu2006-config-flags
speccpu2006-config-flags
master

搜索帮助