None.
Tunes instruction selection, scheduling, and other architecture-dependent performance enhancements to run best on a specific hardware architecture. Allows specification of a target SMT mode to direct optimizations for best performance in that mode.
.-balanced-. >>- -q--tune--=--+-auto-----+--+-----------------+------------->< +-pwr5-----+ | .-st-------. | +-pwr6-----+ '-:--+-balanced-+-' +-pwr7-----+ +-smt2-----+ '-pwr8-----' +-smt4-----+ '-smt8-----'
-qtune=balanced:balanced when no valid -qarch setting is in effect. Otherwise, the default depends on the effective -qarch setting. See Table 1 for details.
The following -qtune CPU suboptions allow you to specify a particular architecture for the compiler to target for best performance:
The following -qtune simultaneous multithreading (SMT) suboptions allow you to optionally specify an execution mode for the compiler to target for best performance:
If you want your program to run on more than one architecture, but to be tuned to a particular architecture, you can use a combination of the -qarch and -qtune options. These options are primarily of benefit for floating-point intensive programs.
By arranging (scheduling) the generated machine instructions to take maximum advantage of hardware features such as cache size and pipelining, -qtune can improve performance. It only has an effect when used in combination with options that enable optimization.
A particular SMT suboption is valid if the effective -qarch option supports the specified SMT mode. The acceptable combinations of the -qarch and SMT tune options are listed in Table 1. The compiler ignores any invalid -qarch/-qtune SMT combination.
Although changing the -qtune setting may affect the performance of the resulting executable, it has no effect on whether the executable can be executed correctly on a particular hardware platform.
Acceptable combinations of -qarch and -qtune are shown in the following table.
-qarch option | Default -qtune setting | Available -qtune CPU settings | Available -qtune SMT settings |
---|---|---|---|
ppc | balanced:balanced | auto | pwr5 | pwr6 | pwr7 | pwr8 | balanced | balanced | st |
ppcgr | balanced:balanced | auto | pwr5 | pwr6 | pwr7 | pwr8 | balanced | balanced | st |
ppc64 | balanced:balanced | auto | pwr5 | pwr6 | pwr7 | pwr8 | balanced | balanced | st |
ppc64gr | balanced:balanced | auto | pwr5 | pwr6 | pwr7 | pwr8 | balanced | balanced | st |
ppc64grsq | balanced:balanced | auto | pwr5 | pwr6 | pwr7 | pwr8 | balanced | balanced | st |
ppc64v | balanced:balanced | auto | pwr6 | pwr7 | pwr8 | balanced | balanced | st |
pwr5 | pwr5:st | auto | pwr5 | pwr6 | pwr7 | pwr8 | balanced | balanced | st |
pwr5x | pwr5:st | auto | pwr5 | pwr6 | pwr7 | pwr8 | balanced | balanced | st | smt2 |
pwr6 | pwr6:st | auto | pwr6 | pwr7 | pwr8 | balanced | balanced | st | smt2 |
pwr6e | pwr6:st | auto | pwr6 | balanced | balanced | st |
pwr7 | pwr7:st | auto | pwr7 | pwr8 | balanced | balanced | st | smt2 | smt4 |
pwr8 | pwr8:st | auto | pwr8 | balanced | balanced | st | smt2 | smt4 | smt8 |
xlf -o testing myprogram.f -qtune=pwr7
xlf -o testing myprogram.f -qtune=pwr8:smt4