インテル(R) コンパイラーによる最適化

インテル(R) コンパイラーは、最適化のためのさまざまなオプションや機能を提供していますが、ほとんどの場合、次にリストされた最適化手法を用いてその利点を得ることができます。

自動最適化

-O1-O2-O3-fast (Linux* および Mac OS*)、/O1/O2/O3/fast (Windows*) などのような自動最適化オプションを使用すると、アプリケーションに最適な方法を特定することができます。これらのオプションを使用して得られる結果を各コンパイルごとに測定します。

並列化 (IA-32 アーキテクチャー、インテル(R) 64 アーキテクチャー、IA-64 アーキテクチャー) とベクトル化 (IA-32 とインテル 64 ) を統合する最適化機構は、デザインが一新され、-O2 または -O3 (Linux および Mac OS) および /O2 または /O3 (Windows) を指定した場合にパフォーマンスが改善されるようになりました。

特定のアーキテクチャーでよりパフォーマンスの向上を見込めるオプションがあります。

アプリケーションが特定のアーキテクチャーを対象としている場合は、ターゲット・プロセッサー向けのコンパイラー・オプションと自動最適化オプションを組み合わせて試してください。

-x オプションと -ax オプション (Linux および Mac OS) または /Qx オプションと /Qax (Windows) オプションを組み合わせて、特定のインテルのプロセッサー向けに最適化されたコードと IA-32 アーキテクチャーをベースとしたほとんどのプロセッサーで実行できる汎用コードの両方を作成します。ターゲット・プロセッサーについての詳細は次のトピックを参照してください。

ほかの最適化手法を適用する前に、プロセッサー固有のオプションと自動最適化オプションを組み合わせてみてください。

IPO と PGO

プロシージャー間の最適化 (IPO)プロファイルに基づく最適化 (PGO) を試します。最適化適用後のパフォーマンスを測定し、アプリケーションのパフォーマンスが向上したかどうかを調べます。

トップダウン方式の反復手法を利用します。インテル(R) VTune(TM) パフォーマンス・アナライザーやコンパイラー・レポートなどのパフォーマンス監視ツールを使用し、パフォーマンスの妨げとなるコードを特定し、解決します。

並列化

マルチコアシステムまたはマルチコア・プロセッサー・システムで実行するアプリケーションの場合は、並列化オプションまたは OpenMP* オプションを使用して並列化処理を開始します。

古いプロセッサー向けのコンパイル

自動最適化オプションとプロセッサーに依存しないほかのコンパイラー・オプションを使用して、プロセッサー・デザインや拡張サポートの最新機能を利用しない最適化コードを生成します。-x (Linux および Mac OS) オプションや /Qx (Windows) オプションを使用して、古いプロセッサー用のプロセッサー・ディスパッチを生成します。