ベクトル化レポートを生成する

ベクトル化レポートは、コード中のループがベクトル化されたかどうか、またされなかった場合はその理由も示します。

ベクトル化は -O1 レベルでは無効のため、コンパイラーはベクトル化レポートを生成しません。-O2 (デフォルトの最適化) で再コンパイルしてください。

ifort -real-size 64 -vec-report1 matvec.f90 driver.f90 -o MatVector

新しい実行時間を記録します。短縮された時間は主に、ベクトル化レポートで示されているように、行番号 32 の内部ループの自動ベクトル化によるものです。

matvec.f90(32) (列 3): リマーク: ループがベクトル化されました。
matvec.f90(38) (列 6): リマーク: ループがベクトル化されました。
driver.f90(59) (列 5): リマーク: ループがベクトル化されました。
driver.f90(61) (列 5): リマーク: ループがベクトル化されました。
driver.f90(80) (列 29): リマーク: ループがベクトル化されました。

-vec-report2 オプションにより生成されるリストには、ベクトル化されなかったループとその理由も含まれます。

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

ベクトル化レポートは、matvec.f90 の行番号 33 のループが、ループの入れ子の最内ループではないためにベクトル化しなかったことを示しています。

matvec.f90(32) (列 3): リマーク: ループがベクトル化されました。
matvec.f90(33) (列 3): リマーク: ループはベクトル化されませんでした: 内部ループではありません。
matvec.f90(38) (列 6): リマーク: ループがベクトル化されました。
driver.f90(59) (列 5): リマーク: ループはベクトル化されませんでした: 内部ループではありません。
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(80) (列 29): リマーク: ループがベクトル化されました。
driver.f90(74) (列 7): リマーク: ループはベクトル化されませんでした: 非標準のループはベクトル化候補ではありません。

Note icon

-vec-report コンパイラー・オプションについての詳細は、ユーザー・リファレンス・ガイドの「コンパイラー・オプション」を参照してください。

戻る: パフォーマンスのベースラインを確定する 次へ: データのアライメントによりパフォーマンスを向上する


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

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