プロシージャー間の最適化を使用してパフォーマンスを向上する

コンパイラーは、ソース行の境界を越えて最適化できる場合、インライン展開などの追加の最適化を実行することができます。インライン展開は、-ipo オプションで有効になります。

-ipo オプションを使用してプログラムを再コンパイルし、プロシージャー間の最適化を有効にします。

ifort -real-size 64 -vec-report2 -DALIGNED -ipo matvec.f90 driver.f90 -o MatVector

ベクトル化メッセージは driver.f90 (行 70) のインライン展開の場所を示していることに注目してください。

driver.f90(59) (列 5): リマーク: ループはベクトル化されませんでした: 内部ループではありません。
driver.f90(59) (列 5): リマーク: ループはベクトル化されませんでした: ベクトル化は可能ですが非効率です。
driver.f90(59) (列 5): リマーク: ループはベクトル化されませんでした: 内部ループではありません。
driver.f90(59) (列 5): リマーク: ループはベクトル化されませんでした: 添字が複雑すぎます。
driver.f90(59) (列 5): リマーク: ループがベクトル化されました。
driver.f90(61) (列 5): リマーク: ループはベクトル化されませんでした: ベクトル化は可能ですが非効率です。
driver.f90(61) (列 5): リマーク: ループがベクトル化されました。
driver.f90(63) (列 21): リマーク: ループはベクトル化されませんでした: 内部ループではありません。
driver.f90(63) (列 21): リマーク: ループがベクトル化されました。
driver.f90(73) (列 16): リマーク: ループはベクトル化されませんでした: 内部ループではありません。
driver.f90(70) (列 14): リマーク: ループがベクトル化されました。
driver.f90(70) (列 14): リマーク: ループはベクトル化されませんでした: 内部ループではありません。
driver.f90(70) (列 14): リマーク: ループがベクトル化されました。
driver.f90(80) (列 29): リマーク: ループがベクトル化されました。

ここで、実行ファイルを開始して、実行時間を記録してください。

戻る: データのアライメントによりパフォーマンスを向上する 次へ: 追加の演習


このヘルプについてのフィードバックを送信

© 2010 Intel Corporation. 無断での引用、転載を禁じます。