インテル® Advisor ユーザーガイド
Low
サーベイ + FLOP (特性化)

ドットが最上部のルーフから離れるほど、改善の余地は大きくなります。アムダールの法則に従って、プログラムの合計実行時間の大半を占めるループを最適化することで、実行時間が短いループを最適化するよりも大幅な効果が期待できます。
右にある [Roof View] メニューで、実行時間に対応するドットの色とタイプ (スカラーやベクトル) を切り替えることができます。
ドットの上にあるルーフは、それ以上高いパフォーマンスを達成するのを妨げることを表します。ルーフ以下では何かパフォーマンスに貢献できることもあるでしょう。各ルーフは、上位のルーフに関連する特定の最適化なしで達成できる最大のパフォーマンスを表します。ドットの位置に応じて次の最適化を試します。
さらに正確な最適なの推奨事項については、[Code Analytics] タブのルーフラインのガイドおよび [Recommendations] タブのルーフラインの結果を参照してください。
ドットの位置 |
原因 |
最適化 |
|---|---|---|
メモリールーフの下 (DRAM 帯域幅、L1 帯域幅など) |
ループ/関すのメモリ使用は非効率です。 |
このループのメモリー・アクセス・パターン解析を実行します。
|
ベクトル加算ピーク以下 |
ループ/関数は命令セットを十分に活用していません。 |
サーベイレポートの [Traits] カラムをチェックして、FMA 命令が使用されているか確認します。
|
スカラー加算ピークのすぐ上 |
ループ/関数はベクトル化されていません。 |
サーベイでベクトル化の効率とパフォーマンス問題を確認してください。低い値が示される場合、推奨事項に従って改善します。 |
スカラー加算ピーク以下 |
ループ/関数はスカラーです。 |
ループがベクトル化されている場合、サーベイレポートを確認します。ベクトル化されていなければ、可能な限りベクトル化してください。これには、依存関係解析を実行して、ベクトル化を強制しても安全であるか確認が必要な場合もあります。 |
次の [Roofline] グラフでは、ループ A と G (大きな赤いドット)、そして B (小さな黄のドット) が最適化の最良の候補となります。ループ C、D、と E (小さな緑のドット)、および H (黄のドット) は、改善の余地がわずかであるため最適化に適していません。

一部のアルゴリズムは特定のルーフを超えることができません。例えば、スライド図中のループ A が依存関係によりベクトル化することが困難である場合、スカラーピークを上回ることはありません。