-qtune (-mtune)
利用可能な呼び出し
オプション | xlc (C のコンパイル) | xlC (C++ のコンパイル) | xlclang (C のコンパイル) | xlclang++ (C++ のコンパイル) |
---|---|---|---|---|
-qtune | ✓ | ✓ | ✓ | ✓ |
-mtune | ✓ | ✓ |
カテゴリー
プラグマ同等物
なし。
目的
特定のハードウェア・アーキテクチャーで最適に稼働するように、命令の選択、スケジューリング、およびアーキテクチャーに依存するその他のパフォーマンス強化のための調整を行います。 ターゲット SMT モードで最高のパフォーマンスを得るための最適化が行われるように、そのモードを指定できるようにする。
構文
デフォルト
有効な -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 設定 | 使用可能な -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
testing
は myprogram.c
からコンパイルされます。 testing
が POWER8 ハードウェア・プラットフォーム用に最適化され、 SMT4 モード用に構成されるように指定するには、次のように入力します。xlc -o testing myprogram.c -qtune=pwr8:smt4