1 Star 0 Fork 0

zhangdaolong/speccpu2006-config-flags

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
EM64T_Intel91_flags.xml 12.56 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>EM64T_Intel91_flags</filename>
<title>SPEC CPU2006 Flag Description for the Linux Intel(R) C++ Compiler 9.1
for EM64T-based applications and Intel(R) Fortran Compiler 9.1 for EM64T-based
applications</title>
<header>
<![CDATA[
<div style="font-weight: bold; font-size: larger; margin-left: 2em"> <h3 style="text-indent: -2em">Compilers:</h3>
<p>Intel Compilers for C++ and Fortran, Version 9.1; Copyright &copy; 2006 Intel Corporation. All Rights Reserved.</p>
</div>
<hr />
]]>
</header>
<!--
*********************************************************************************************************************
Explanations of platform info, such as BIOS settings
*********************************************************************************************************************
-->
<platform_settings>
<![CDATA[
<p><b>Platform settings</b></p>
<p>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.</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>
<p><b> ulimit -s <n> (Linux) </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>
]]>
</platform_settings>
<!--
******************************************************************************************************
* Compilers
******************************************************************************************************
-->
<flag name="intel_icc" class="compiler" regexp="(?:/\S+/)?icc\b">
<![CDATA[
<p>Invoke the Intel C compiler for EM64T based applications </p>
]]>
</flag>
<flag name="intel_icpc" class="compiler" regexp="(?:/\S+/)?icpc\b">
<![CDATA[
<p>Invoke the Intel C++ compiler for EM64T based applications </p>
]]>
</flag>
<flag name="intel_ifort" class="compiler" regexp="(?:/\S+/)?ifort\b">
Invoke the Intel Fortran compiler for EM64T based applications
</flag>
<!--
******************************************************************************************************
* Portability
******************************************************************************************************
-->
<flag name="lowercase_routine_name" class="portability" regexp="(?:/\S+/)?-nofor_main\b">
<![CDATA[
<p>For mixed-language benchmarks, tell the compiler to ignore the main routine in Fortran</p>
]]>
</flag>
<!--
******************************************************************************************************
* Optimizations
******************************************************************************************************
-->
<flag name="f-O1" class="optimization" regexp="-O1\b">
<![CDATA[
<p>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 Linux platforms, -O1 sets the
following:</p>
<p style="margin-left: 25px">
-unroll0, -fno-builtin -mno-ieee-fp -fomit-frame-pointer -ffunction-sections</p>
]]>
<include flag="f-unroll_n" />
<include flag="f-fno-builtin" />
<include flag="f-mno-ieee-fp" />
<include flag="f-fomit-frame-pointer" />
<include flag="f-ffunction-sections" />
</flag>
<flag name="f-O2" class="optimization" regexp="-O2\b">
<![CDATA[
<p>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. </p>
]]>
<include flag="f-O1" />
</flag>
<flag name="f-O3" class="optimization" regexp="-O3\b">
<![CDATA[
<p>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 -axK/-xK and -axW/-xW, this switch causes the
compiler to perform more aggressive data dependency analysis than
for -O2. This may result in longer compilation times. On Linux
platforms, -O3 sets the following:</p>
<p style="margin-left: 25px">
-fp</p>
]]>
<include flag="f-fp" />
<include flag="f-O2" />
</flag>
<flag name="f-ip" class="optimization" regexp="-ip\b">
enable single-file IP optimizations
(within files, same as -Ob2)
</flag>
<flag name="f-ipo" class="optimization" regexp="-ipo\b">
<![CDATA[
<p>Multi-file ip optimizations that includes:<br />
- inline function expansion<br />
- interprocedural constant propogation<br />
- dead code elimination<br />
- propagation of function characteristics<br />
- passing arguments in registers<br />
- loop-invariant code motion</p>
]]>
</flag>
<flag name="f-fast" class="optimization" regexp="-fast\b">
<![CDATA[
<p>The -fast option enhances execution speed across the entire program
by including the following options that can improve run-time performance:</p>
<p style="text-indent: -45px;margin-left: 45px">
-O3&nbsp;&nbsp;&nbsp;(maximum speed and high-level optimizations)</p>
<p style="text-indent: -45px;margin-left: 45px">
-ipo&nbsp;(enables interprocedural optimizations across files)</p>
<p style="text-indent: -45px;margin-left: 45px">
-xP&nbsp;&nbsp;(generate code specialized for Intel Pentium 4 processor
and compatible Intel processors with Streaming SIMD Extensions 3)</p>
<p style="text-indent: -45px;margin-left: 45px">
-no-prec-div&nbsp;(disable -prec-div)
where -prec-div improves precision of FP divides (some speed impact)</p>
<p style="text-indent: -45px;margin-left: 45px">
-static&nbsp;(statically link libraries during compilation)</p>
<p>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.</p>
]]>
<include flag="f-O3" />
<include flag="f-ipo" />
<include flag="f-xP" />
<include flag="f-static" />
<include flag="f-no-prec-div" />
</flag>
<flag name="f-xP" class="optimization" regexp="-x[PN]\b">
<![CDATA[
<p>The -xN and -xP 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.</p>
<p>These options also enable advanced data layout and code restructuring
optimizations to improve memory accesses for Intel processors.</p>
]]>
</flag>
<flag name="f-no-prec-div" class="optimization" regexp="-no-prec-div\b">
(disable -prec-div)
<![CDATA[
<p>Allows the compiler to perform optimizations in FP divides that may
impact precision while improving speed.</p>
]]>
</flag>
<flag name="prof_gen" class="optimization" regexp="-prof_gen\b">
<![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="prof_use" class="optimization" regexp="-prof_use\b">
<![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="auto_ilp32" class="optimization" regexp="-auto_ilp32\b">
<![CDATA[
<p>This option instructs the compiler to analyze the program to
determine if there are 64-bit pointers which can be safely
shrunk into 32-bit pointers. In order for this option to be
effective the compiler must be able to optimize using the
-ipo option, and must be able to analyze all library/external
calls the program makes. This option imposes the following
restrictions on the program:<br />
The program cannot malloc any objects greater than 2**31 bytes
in size.<br />
If the program does not satisfy this restriction, unpredictable
behavior may occur.</p>
]]>
</flag>
<flag name="f-mno-ieee-fp" class="optimization" regexp="-mno-ieee-fp\b">
<![CDATA[
<p>Enables improved floating-point consistency. Floating-point operations
are not reordered and the result of each floating-point operation is
stored in the target variable rather than being kept in the floating-
point processor for use in a subsequent calculation. This is the same
as specifying -fltconsistency or -mp.</p>
<p>The default, -mno-ieee-fp, provides better accuracy and run-time per-
formance at the expense of less consistent floating-point results.</p>
]]>
</flag>
<flag name="f-fomit-frame-pointer" class="optimization" regexp="-fomit-frame-pointer\b">
<![CDATA[
<p>Enable using EBP as general purpose register.</p>
]]>
</flag>
<flag name="f-ffunction-sections" class="optimization" regexp="-ffunction-sections\b">
<![CDATA[
<p>Separate functions for the linker (COMDAT). Same as -fdata-sections.</p>
]]>
</flag>
<flag name="f-unroll_n" class="optimization" regexp="-unroll\d+\b">
Tells the compiler the maximum number of times to unroll loops.
</flag>
<flag name="f-fno-builtin" class="optimization" regexp="-fno-builtin\b">
Disables inline expansion of all intrinsic functions.
</flag>
<flag name="f-fp" class="optimization" regexp="-fp\b">
<![CDATA[
<p>Disable using EBP as general purpose register.</p>
]]>
</flag>
<flag name="f-static" class="optimization" regexp="-static\b">
<![CDATA[
<p>This option prevents linking with shared libraries. It
causes the executable to link all libraries statically.</p>
]]>
</flag>
</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

搜索帮助