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.
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.
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 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 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 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.
Indicates that the input fortran source program is in fixed form.
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.
If defined uses Fortran symbol names ABC as abc
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.
Do not use the XL compiler compat macros.
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 macro indicates that C functions called from Fortran should not have an underscore added to their names.
This macro defines "flush_" instead of the default "flush" routine.
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.
<suboption> must be one of the following suboptions:
Default: -qufmt=le
-qchars=signed : Causes the compiler to treat the type "char" as signed instead of the default of unsigned.
-qchars=unsigned : Causes the compiler to treat the type "char" as unsigned. This is the default.
Note: this particular portability flag is included for 526.blender_r per the recommendation in its documentation - see http://www.spec.org/cpu2017/Docs/benchmarks/526.blender_r.html.Some systems need to see alternate definitions for boolean types. This flag enables their use.
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.
Fortran to C symbol naming. C symbol names are lower case without underscores. symbol
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.
-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.
-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.
Causes the Fortran compiler to allocate dynamic arrays on the heap instead of the stack.
-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.
Causes the Fortran compiler to allocate dynamic arrays on the heap instead of the stack.
-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.
Causes the Fortran compiler to allocate dynamic arrays on the heap instead of the stack.
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:35 by SPEC CPU2017 flags formatter v5178.