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.
limit stacksize unlimited
Sets the stack size to n kbytes, or unlimited to allow the stack size to grow without limit.
dplace [-c cpu_numbers] [-r [l|b|t] [-v 1|2]
Dplace is used to bind a related set of processes to specific cpus or nodes to prevent process migration. In some cases, this will improve performance since a higher percentage of memory accesses will to the local node.
Version 1 of numatools required kernel support for PAGG process placement groups. This support is no longer available in all kernel variants.
Version 2 of numatools uses a preload library to intercept calls to fork(), exec() (all variants), pthread_create() and pthread_exit(). The intercept code performs placement as part of the library call. In most cases, version 1 and version 2 are compatible. In some cases, however, a user will notice differences:
dev/cpuset/memory_spread_page, /dev/cpuset/memory_spread_cache
There are two Boolean flag files per cpuset that control where the kernel allocates pages for the file system buffers and related in kernel data structures. They are called memory_spread_page and memory_spread_slab.
If the per-cpuset Boolean flag file memory_spread_page is set, the kernel will spread the file system buffers (page cache) evenly over all the nodes that the faulting task is allowed to use, instead of preferring to put those pages on the node where the task is running.
If the per-cpuset Boolean flag file memory_spread_slab is set, the kernel will spread some file system related slab caches, such as for inodes and directory entries, evenly over all the nodes that the faulting task is allowed to use; instead of preferring to put those pages on the node where the task is running.
The setting of these flags does not affect anonymous data segment or stack segment pages of a task.
When new cpusets are created, they inherit the memory spread settings of their parent.
Setting memory spreading causes allocations for the affected page or slab caches to ignore the tasks NUMA mempolicy and be spread instead. Tasks using mbind() or set_mempolicy() calls to set NUMA mempolicies will not notice any change in these calls as a result of their containing tasks memory spread settings. If memory spreading is turned off, the currently specified NUMA mempolicy once again applies to memory page allocations.
Both memory_spread_page and memory_spread_slab are Boolean flag files. By default they contain "1", meaning that the feature is on for that cpuset. If a "0" is written to that file, that turns the named feature off.
SGI ProPack for Linux
SGI ProPack is a suite of performance optimization libraries and tools for SGI Linux systems. It includes application accelerators such as NUMAtools and Flexible File I/O, parallel programming tools such as the Message Passing Toolkit, real-time performance via SGI REACT, and performance monitoring tools such as Performance Co-Pilot.
The dplace utility from the ProPack NUMAtools package is used to pin processes in CPU2006 rate runs.
]]>-unroll0, -fbuiltin, -mno-ieee-fp, -fomit-frame-pointer (same as -fp), -ffunction-sections
]]>-O3 (maximum speed and high-level optimizations)
-ipo (enables interprocedural optimizations across files)
-static (link libraries statically)
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.
]]>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.
]]>