概要: 高水準言語の最適化

高レベル最適化 (HLO) とは、Fortran や C++ といった高水準プログラミング言語で開発されたアプリケーションに含まれているループや配列など、ソースコード上の特性を利用した最適化手法です。これには、ループ交換、ループ融合、ループ展開、ループ分配、アンロール・ジャム、ブロッキング、データ・プリフェッチ、スカラ置換、データ・レイアウトの最適化といった手法があります。高レベルな最適化をオンにするオプションは -O3 です。

IA-32 および Itanium® ベース・アプリケーション
-O3 -O2 オプションに加えて、さらに強力な最適化 (例えば、ループ変換やプリフェッチ) を有効にします。-O3 は、最も高速になるように最適化を行いますが、パフォーマンスが向上しないプログラムもあります。
IA-32 アプリケーション
-O3 ベクトル化オプション -ax{K|W|N|B|P} および -x{K|W|N|B|P}-O3 を組み合わせて指定すると、-O2 よりも詳細にデータの依存性を分析します。そのためコンパイル時間が長くなる場合があります。

-fast オプションは、実行時のパフォーマンスを向上させる次のオプションを含めることで、プログラム全体にわたって実行速度を上げます:

-fast で設定されるオプションの 1 つを無効にするには、コマンドラインで -fast オプションの後に無効にするオプションを指定します。-fast で設定されるオプションは、バージョンによって変更になる場合があります。

特定のプロセッサ用に -fast の最適化を行うには、-x オプションのうちの 1 つを使用してください。
例:

prompt>icpc -fast -xW source_file.cpp