次の表では、パフォーマンスに最も影響を与えるコンパイラー・オプションを
説明しています。異なる組み合わせのコンパイラー・オプションを試して、ご使用の
アプリケーションに最も適切なオプションを確認することができます。
オプション | 概説 |
---|---|
-O0 または -qnoopt | コンパイラーは、非常に限定された最適化を行います。 これは、デフォルトの最適化レベルです。 アプリケーションの最適化を開始する前に、最適化レベル 0 でコンパイルと実行が正常に行われることを確認してください。 |
-qarch | コンパイラーは、指定したプロセッサー・アーキテクチャーに対する命令を生成します。 このオプションを使用すると、コンパイラーは、指定したアーキテクチャーに存在し、他のアーキテクチャーには存在しない プロセッサー命令を利用することができます。 |
-qtune | コンパイラーは、指定したプロセッサー・アーキテクチャーのアプリケーションを最適化します。 アプリケーションは、-qarch オプションで指定したすべてのプロセッサーで実行されますが、そのパフォーマンスは、 -qtune オプションで指定したプロセッサー用に調整されます。 |
-O2 | コンパイラーは、基本の最適化を行います。このオプションは、コンパイル速度と 実行時パフォーマンス間のバランスが取れています。 |
-O3 | コンパイラーは、メモリーまたはコンパイル時間、あるいはその両方を大量に使用する最適化を含む、積極的な最適化を行います。 |
-qhot | コンパイラーは追加のループ最適化、自動ベクトル化を行い、オプションで配列埋め込みを実行します。このオプションは、数値の処理を含む化学アプリケーションで最も 役立ちます。-04 より短いコンパイル時間、および -O3 より高いパフォーマンスを 必要とする場合は、-O3 -qhot を試行してください。 |
-qcache | コンパイラーは、プロセッサーで指定のキャッシュ構成が行われていると想定します。 このオプションは、アプリケーションを実行するすべてのプロセッサーでデフォルト以外の同じキャッシュ構成が行われている 場合に、パフォーマンスを向上させます。 |
-qipa | コンパイラーは、プロシージャー間分析を実行して、アプリケーション全体を 1 つの単位として最適化します。 このオプションは、頻繁に使用されるルーチンを大量に含むアプリケーションで最も役立ちます。 多くの場合、このオプションによってコンパイル時間が大幅に長くなります。 |
-O4 | これは、-O3 -qipa -qhot -qarch=auto -qtune=auto -qcache=auto に相当します。 |
-O5 | これは、-O4 -qipa=level=2 に相当します。 |
-qpdf1 -qpdf2 | コンパイラーは、プロファイル指示フィードバックを使用して、アプリケーションが異なるコード・セクションを 実行する頻度の分析に基づいてアプリケーションを最適化します。 |