Compilers: IBM XL C/C++ Version 13.1.5 for Linux
Compilers: IBM XL Fortran Version 15.1.5 for Linux
Operating systems: Red Hat Enterprise Linux Server release 7
Last updated: $LastChangedDate: 2017-12-19 12:35:29 -0400 (Tue, 19 Dec 2017) $ revision $LastChangedRevision: 003 $
32-bit binaries are produced by default on big-endian Linux. Only 64-bit compilation is supported on little-endian Linux. The xlc_r invocation is thread-safe version of xlc compiler. The xlc_at and xlc_r_at invocations link with the IBM Advanced Toolchain libraries.
Compilation conforms to the ISO C99 standard and accepts implementation-specific language extensions.
32-bit binaries are produced by default on big-endian Linux. Only 64-bit compilation is supported on little-endian Linux. The xlC_r invocation is thread-safe version of xlC compiler. The xlC_at and xlC_r_at invocations link with the IBM Advanced Toolchain libraries.
32-bit binaries are produced by default on big-endian Linux. Only 64-bit compilation is supported on little-endian Linux. The xlf95_r invocation is thread-safe version of xlf95 compiler. The xlf95_at and xlf95_r_at invocations link with the IBM Advanced Toolchain libraries.
This macro indicates that the benchmark is being compiled on a little-endian PowerPC system running the Linux operating system.
This macro specifies that the target system uses the LP64 data model; specifically, that integers are 32 bits, while longs and pointers are 64 bits.
This option is used to indicate that the host system's integers are 32-bits wide, and longs and pointers are 64-bits wide. Not all benchmarks recognize this macro, but the preferred practice for data model selection applies the flags to all benchmarks; this flag description is a placeholder for those benchmarks that do not recognize this macro.
This option is used to indicate that the host system's integers are 32-bits wide, and longs and pointers are 64-bits wide. Not all benchmarks recognize this macro, but the preferred practice for data model selection applies the flags to all benchmarks; this flag description is a placeholder for those benchmarks that do not recognize this macro.
This option is used to indicate that the host system's integers are 32-bits wide, and longs and pointers are 64-bits wide. Not all benchmarks recognize this macro, but the preferred practice for data model selection applies the flags to all benchmarks; this flag description is a placeholder for those benchmarks that do not recognize this macro.
This flag can be set for SPEC compilation for LINUX using default compiler.
This option is used to indicate that the host system's integers are 32-bits wide, and longs and pointers are 64-bits wide. Not all benchmarks recognize this macro, but the preferred practice for data model selection applies the flags to all benchmarks; this flag description is a placeholder for those benchmarks that do not recognize this macro.
This option is used to indicate that the host system's integers are 32-bits wide, and longs and pointers are 64-bits wide. Not all benchmarks recognize this macro, but the preferred practice for data model selection applies the flags to all benchmarks; this flag description is a placeholder for those benchmarks that do not recognize this macro.
This option is used to indicate that the host system's integers are 32-bits wide, and longs and pointers are 64-bits wide. Not all benchmarks recognize this macro, but the preferred practice for data model selection applies the flags to all benchmarks; this flag description is a placeholder for those benchmarks that do not recognize this macro.
This option is used to indicate that the host system's integers are 32-bits wide, and longs and pointers are 64-bits wide. Not all benchmarks recognize this macro, but the preferred practice for data model selection applies the flags to all benchmarks; this flag description is a placeholder for those benchmarks that do not recognize this macro.
This option is used to indicate that the host system's integers are 32-bits wide, and longs and pointers are 64-bits wide. Not all benchmarks recognize this macro, but the preferred practice for data model selection applies the flags to all benchmarks; this flag description is a placeholder for those benchmarks that do not recognize this macro.
This option is used to indicate that the host system's integers are 32-bits wide, and longs and pointers are 64-bits wide. Not all benchmarks recognize this macro, but the preferred practice for data model selection applies the flags to all benchmarks; this flag description is a placeholder for those benchmarks that do not recognize this macro.
Instructs the linker to allow multiple definitions and the first definition will be used. Normally when a symbol is defined multiple times, the linker will report a fatal error.
-O5 is equivalent to the following flags :
Generates 64-bit ABI binaries. The default is to generate 64-bit ABI binaries on little-endian Linux.
The inline option specifies the threshold and limit of inlined functions. Example : -qinline=40.
Specifying nothreads does not run any parallel threads; this is equivalent to running one serial thread. This option does not affect the code in the final binary created.
-qalias=ansi | noansi :
If ansi is specified, type-based aliasing is used during optimization, which restricts the lvalues that can be safely used to access a data object. The default is ansi for the xlc, xlC, and c89 commands. This option has no effect unless you also specify the -O option.qalias=std |nostd :
Indicates whether the compilation units contain any non-standard aliasing. If so, specify nostd.-O5 is equivalent to the following flags :
Generates 64-bit ABI binaries. The default is to generate 64-bit ABI binaries on little-endian Linux.
The inline option specifies the threshold and limit of inlined functions. Example : -qinline=40.
Specifying nothreads does not run any parallel threads; this is equivalent to running one serial thread. This option does not affect the code in the final binary created.
-O5 is equivalent to the following flags :
Generates 64-bit ABI binaries. The default is to generate 64-bit ABI binaries on little-endian Linux.
The inline option specifies the threshold and limit of inlined functions. Example : -qinline=40.
Specifying nothreads does not run any parallel threads; this is equivalent to running one serial thread. This option does not affect the code in the final binary created.
This section contains descriptions of flags that were included implicitly by other flags, but which do not have a permanent home at SPEC.
-O4 is equivalent to the following flags:
The optimizations provided include:
`-O3 is equivalent to the following flags :
The supported values for suboption are :
Specifying -qhot without suboptions implies -qhot=nosimd, -qhot=noarraypad, -qhot=vector and -qhot=level=1. The -qhot option is also implied by -O4 and -O5 .
Enhances optimization by doing detailed analysis across procedures (interprocedural analysis or IPA). The level determines the amount of interprocedural analysis and optimization that is performed.
Supported values for this flag are :
The supported values for suboption are :
Enhances optimization by doing detailed analysis across procedures (interprocedural analysis or IPA). The level determines the amount of interprocedural analysis and optimization that is performed.
XLFRTEOPTS=intrinthrds=1 : Causes the Fortran runtime to only use a single thread.
echo 16000 > /proc/sys/vm/nr_hugepagesor
echo 16000 > /proc/sys/vm/nr_overcommit_hugepagesto allocate from the dynamic hugepage pool. This can be done in both Red Hat and Suse Enterprise, since both distributions implements Transparent Huge Pages (THP). THP is an abstraction layer that automates most aspects of creating, managing and using huge pages, and can currently only map anonymous memory regions such as heap and stack space.
ppc64_cpu --smt=4ppc64_cpu command is used to display and set cpu characteristics on PowerPC platforms.
Options: --smt Display the current smt setting for the system. The output will state whether smt is off indicating there is only one thread per core online, smt is on indicating that all threads of every core is online, the smt is in a mixed state indicating that the number of threads online varies per core, or SMT=X indicating a specific smt state. --smt=value Set the smt state for each core to the specified value.
Intelligent Energy Optimization capabilities enable the POWER8 processor to operate at a higher frequency for increased performance. This processor / firmware feature maximizes performance as thermal conditions allow and enabled by default in firmware.
Flag description origin markings:
For questions about the meanings of these flags, please contact the tester.
For other inquiries, please contact info@spec.org
Copyright 2017-2018 Standard Performance Evaluation Corporation
Tested with SPEC CPU2017 v1.0.1.
Report generated on 2018-10-31 17:14:05 by SPEC CPU2017 flags formatter v5178.