-qtune (-mtune)

利用可能な呼び出し

表 1. 所定のオプションが受け入れられる呼び出し
オプション xlc (C のコンパイル) xlC (C++ のコンパイル) xlclang (C のコンパイル) xlclang++ (C++ のコンパイル)
-qtune
-mtune    
注: この表には、標準的な呼び出しのみがリストされています。 すべての基本呼び出しとそれに相当する特殊呼び出しについては、 コンパイラー呼び出しの全リスト を参照してください。

カテゴリー

最適化とチューニング

プラグマ同等物

なし。

目的

特定のハードウェア・アーキテクチャーで最適に稼働するように、命令の選択、スケジューリング、およびアーキテクチャーに依存するその他のパフォーマンス強化のための調整を行います。 ターゲット SMT モードで最高のパフォーマンスを得るための最適化が行われるように、そのモードを指定できるようにする。

構文

構文図を読むビジュアル構文図をスキップ  -q tune = balancedautoppc970pwr4pwr5pwr6pwr7pwr8pwr9 :stbalancedsmt2smt4smt8
構文図を読むビジュアル構文図をスキップ  -m tune = pwr4power4pwr5power5pwr6power6pwr7power7pwr8power8pwr9power9

デフォルト

有効な -qarch 設定が適用されていない場合は -qtune=balanced:balanced。 それ以外の場合は、デフォルトは、有効な -qarch 値によって異なります。 詳しくは、 「-qarch と -qtune の受け入れ可能な組み合わせ」を参照してください。

CPU サブオプション向けのパラメーター

以下の CPU サブオプションを使用すると、特定のアーキテクチャーを指定して、コンパイラーが最高のパフォーマンスを発揮できるようにすることができます。

auto
アプリケーションがコンパイルされるプラットフォームで最適化がチューニングされます。
平衡型
最適化が、最新ハードウェアの選択範囲全体で調整されます。
ppc970
PowerPC® 970 プロセッサー用に最適化が調整されています。
pwr4
POWER4 ハードウェア・プラットフォーム用に、最適化が調整されます。
pwr5
POWER5 ハードウェア・プラットフォーム用に、最適化が調整されます。
pwr6
POWER6 ハードウェアプラットフォーム向けに最適化が調整されています。
pwr7
最適化は、 POWER7 または POWER7+ ハードウェアプラットフォームに
pwr8
POWER8 ハードウェアプラットフォーム向けに最適化されています。
pwr9
POWER9 ハードウェア・プラットフォーム用に、最適化が調整されます。

SMT サブオプション向けのパラメーター

以下の同時マルチスレッド化 (SMT) サブオプションを使用すると、オプションでコンパイラーの実行モードを指定して、最高のパフォーマンスを発揮できるようにすることができます。

均衡
選択された範囲の最新ハードウェア用のさまざまな SMT モード全体でパフォーマンスが得られるよう、最適化が調整されます。
st
単一スレッド実行用に、最適化が調整されます。
smt2
SMT2 実行モード (2 スレッド) 用に、最適化が調整されます。
smt4
SMT4 実行モード (4 スレッド) 用に、最適化が調整されます。
smt8
SMT8 実行モード (8 スレッド) 用に、最適化が調整されます。

使用法

プログラムを複数のアーキテクチャーで実行するが、特定のアーキテクチャーに合わせて調整する場合は、 -qarch オプションと -qtune オプションを組み合わせて使用します。

-qtune オプションは、生成されたマシン・インストラクションを調整 (スケジューリング) して、キャッシュ・サイズやパイプラインなどのハードウェア・フィーチャーを最大限に活用することにより、パフォーマンスを向上させることができます。

特定の SMT サブオプションは、有効な -qarch オプションが指定の SMT モードをサポートしている場合に有効です。 -qarch チューニング・オプションと SMT チューニング・オプションの受け入れ可能な組み合わせについては、 -qarch と -qtune の受け入れ可能な組み合わせを参照してください。 -qarch/-qtune SMT 組み合わせが無効な場合、コンパイラーはそれらを無視します。

-qtune 設定を変更しても、結果の実行可能ファイルのパフォーマンスに影響する可能性はありますが、特定のハードウェア・プラットフォームで実行可能ファイルを正しく実行できるかどうかには影響しません。

受け入れられる -qarch-qtune の組み合わせを、次の表に示します。
表 2. 許容される -qarch-qtune の組み合わせ
-qarch オプション デフォルトの -qtune 設定 使用可能な -qtune CPU 設定 使用可能な -qtune SMT 設定
ppc balanced:balanced auto | pwr4 | pwr5 | pwr6 | pwr7 | pwr8 | pwr9| ppc970 | balanced balanced | st
ppcgr balanced:balanced auto | pwr4 | pwr5 | pwr6 | pwr7 | pwr8 | pwr9 | ppc970 | balanced balanced | st
ppc64 balanced:balanced auto | pwr4 | pwr5 | pwr6 | pwr7 | pwr8 | pwr9 | ppc970 | balanced balanced | st
ppc64gr balanced:balanced auto | pwr4 | pwr5 | pwr6 | pwr7 | pwr8 | pwr9 | ppc970 | balanced balanced | st
ppc64grsq balanced:balanced auto | pwr4 | pwr5 | pwr6 | pwr7 | pwr8 | pwr9 | ppc970 | balanced balanced | st
ppc64v balanced:balanced auto | ppc970 | pwr6 | pwr7 | pwr8 | pwr9 | balanced balanced | st
ppc970 ppc970:st auto | ppc970 | balanced balanced | st
pwr4 pwr4:st auto | pwr4 | pwr5 | pwr6 | pwr7 | pwr8 | pwr9 | ppc970 | balanced balanced | st
pwr5 pwr5:st auto | pwr5 | pwr6 | pwr7 | pwr8 | pwr9| balanced balanced | st
pwr5x pwr5:st auto | pwr5 | pwr6 | pwr7 | pwr8 | pwr9| balanced balanced | st | smt2
pwr6 pwr6:st auto | pwr6 | pwr7 | pwr8 | pwr9| balanced balanced | st | smt2
pwr6e pwr6:st auto | pwr6 | balanced balanced | st
pwr7 pwr7: ホスト auto | pwr7 | pwr8 | pwr9 | balanced balanced | st | smt2 | smt4
pwr8 pwr8:st auto | pwr8 | pwr9 | balanced balanced | st | smt2 | smt4 | smt8
pwr9 pwr9:st auto | pwr9 | balanced balanced | st | smt2 | smt4 | smt8

事前定義マクロ

なし。

myprogram.c からコンパイルされた実行可能プログラム testing を POWER7 ハードウェア・プラットフォーム用に最適化することを指定するには、次のように入力します。
xlc -o testing myprogram.c -qtune=pwr7
実行可能プログラム testingmyprogram.c からコンパイルされます。 testing が POWER8 ハードウェア・プラットフォーム用に最適化され、 SMT4 モード用に構成されるように指定するには、次のように入力します。
xlc -o testing myprogram.c -qtune=pwr8:smt4

関連情報