ターゲット・マシン・オプションは、指定のプロセッサーまたはアーキテクチャー・ファミリーでの最適な実行のための
コードを生成するように、コンパイラーに指示するオプションです。
デフォルトでは、コンパイラーはサポートされるすべてのシステムで実行されるコードを生成しますが、指定のシステムでは
おそらく最適状態には及ばないものになります。
適切なターゲット・マシン・オプションを選択することで、ターゲット・プロセッサーの最も幅広い選択、指定ファミリー内の
プロセッサーの範囲、または特定プロセッサーに合わせて、アプリケーションを最適化することができます。
以下のコンパイラー・オプションが、ターゲット・マシンの個々の特徴に効果をもたらすように、最適化を制御します。
ターゲット・マシン・オプション | |
オプション | 動作 |
---|---|
-q32 | 32 ビット・アドレッシング・モデル (32 ビット実行モード) 用のコードを生成します。 |
-q64 | 64 ビット・アドレッシング・モデル (64 ビット実行モード) 用のコードを生成します。 |
-qarch | 命令コードを生成する対象となる、プロセッサー・アーキテクチャーのファミリー、または特定アーキテクチャーを選択します。 |
-qtune | 指定のプロセッサーでの実行に対してバイアス最適化を行います。 ターゲットとして使用する命令セット・アーキテクチャーに関しては何も暗黙指定はしません。 |
-qcache | 特定のキャッシュまたはメモリー形状を定義します。 デフォルトは -qtune で設定されます。 |
事前定義最適化レベルを選択すると、上記の個々のオプションのデフォルト値が設定されます。
-qarch で、コードが適正に実行されることが期待されるマシンの最小ファミリーを 指定してください。
-qtune で、最良のパフォーマンスを期待するマシンを指定してください。 わからない場合は、指定の -qarch 設定での最適化に合わせて最良の調整を行う方法をコンパイラーに判断させるようにしてください。
-qcache オプションを使用する前に、-qlist を使用して リストのオプション・セクションを参照し、現行設定が満足のいくものであるかを確認してください。 -qlistopt オプションが指定されたときは、設定はリスト自体に示されます。 システムが構成可能な L2 または L3 キャッシュ・オプションを持つ場合、あるいは実行モードがキャッシュの 共用レベルの有効サイズを削減する場合、キャッシュ形状の変更は有効である可能性があります (たとえば、POWER4 でのチップあたり 2 コアの SMP 実行)。
-qcache を使用する場合は、それとともに -qhot または -qsmp を使用してください。