タイムライン トレース - 2022.1 日本語

Vitis 統合ソフトウェア プラットフォームの資料: アプリケーション アクセラレーション開発 (UG1393)

Document ID
UG1393
Release Date
2022-05-25
Version
2022.1 日本語

タイムライン トレースは、ホストとカーネルのイベント情報を収集し、共通のタイムラインに表示します。これは、システムの全体的な状態とパフォーマンスを視覚的に表示して理解するのに役立ちます。このグラフィカル表示により、カーネル同期および並列実行の効率に関する問題を確認できます。表示されるイベントには、次のものがあります。

  • ホスト コードからの OpenCL API 呼び出し。
  • 計算ユニット、AXI トランザクションの開始/停止を含むデバイス トレース データ。
  • ホスト イベントおよびカーネルの開始/停止。

これはアプリケーションのデバッグおよびプロファイリングには有益ですが、アプリケーション実行に余計な時間がかかるので、タイムラインとデバイス トレース データはデフォルトでは収集されません。ただし、トレース データはカーネルの専用リソースに収集されるので、カーネルの機能には影響しません。デフォルトでは、データは実行の最後にオフロードされます (v++ --profile.trace_memory オプション)。継続的なオフロードがイネーブルになっている場合は、デフォルトが変更されます。

次の図に、ホストおよびデバイスのイベントを共通のタイムラインに表示する [Timeline Trace] ウィンドウの例を示します。ホスト アクティビティが上部に、カーネル アクティビティが下部に表示されます。ホスト アクティビティには、プログラムの作成、カーネルの実行、およびグローバル メモリとホスト間のデータ転送が含まれます。カーネル アクティビティには、読み出し/書き込みアクセス、およびグローバル メモリとカーネル間の転送が含まれます。この情報は、アプリケーション実行の詳細を理解し、パフォーマンスを向上できる部分を特定するのに有益です。

図 1. タイムライン トレース

コマンド ライン フローでもタイムライン データの収集をイネーブルにできますが、表示には Vitis アナライザーを使用する必要があります。詳細は、Vitis アナライザーの使用 を参照してください。