ここでは、フローグラフ・アナライザー・ツールと、新しいフローグラフ・アプリケーションの開発をスピードアップする各種機能について説明します。使用するワークフローによって 2 つの主要なツールがあります。
設計者ワークフロー (designer workflow) は、開発の生産性を高めます。
アナライザーワークフロー (analyzer workflow) は、パフォーマンス・チューニング作業をサポートします。
フローグラフ・アナライザー GUI を使用すると、視覚的に新しいグラフを作成し、以前作成したグラフまたはアプリケーションで生成したグラフを読み込むことができます。
次の図は、基本的な GUI レイアウトと、グラフを視覚的に作成する際に使用する主な要素を示します。これらのグラフは、後の作業のため保存でき、C++ スタブの生成で説明されているように、C++ フレームワーク・コードの生成に使用できます。
1 |
基本ファイル操作と編集操作、グラフまたはパフォーマンス・トレースを操作する視覚化と解析をサポートするツールバー。 |
2 |
フローグラフを視覚化および描画するキャンバス。 |
3 |
カスタム解析によって生成される出力。出力を操作できます。 |
4 |
グループに編成された、インテル® oneAPI スレッディング・ビルディング・ブロックでサポートされるノードタイプのパレット。 |
既存のアプリケーションのパフォーマンスを解析する場合、グラフのトポロジーとパフォーマンス・データは実行中のアプリケーションから取得され、後に解析できるように保存されます。グラフを読み込んだ時にパフォーマンス・トレースが利用できる場合、それらはキャンバス領域のタイムライン・ウィンドウに表示されます。トレースデータを大まかな調査から、特定のタスクとマッピングされるノードの詳しい調査まで、さまざまな方法でトレースデータを操作できます。次の図は、トレースデータが利用できる場合のタイムライン・グラフを示しています。
1 |
タイムラインを選択すると、その時点で実行されているノードがハイライト表示されます。 |
2 |
同時実行分布図は、時間経過で達成されたグラフの並列処理を示します。例えば、同時実行性が低い場合など、時間領域を拡大してタイムライン・グラフを操作できます。 同時実行分布図は初期ズームレベルのままで、ズームインされた領域がその下に表示されます。 |
3 |
スレッドごとのタスクビューには、各スレッドで実行されたタスクが、持続時間とともに表示されます。 |
4 |
ツリーマップ・ビューは、ノードレベルの詳細とともに、グラフのパフォーマンスの一般状態を示します。 |