プロファイリングをイネーブルにし、アプリケーションの実行中にトレース データを収集するには、このタスク用にアプリケーションをインストルメント化する必要があります。追加のロジックをイネーブルにし、追加のデバイス リソースを使用して、ホストおよびカーネルの実行中の動作を記録する必要があります。
デバイス バイナリ (xclbinxclbin) ファイルは、デフォルトでプロファイリング データを収集するよう設定されます。Vitis コンパイラでのリンク プロセスで --profile_kernel
オプションを使用すると、カーネルに Acceleration Monitor および AXI Performance Monitor を追加することにより FPGA バイナリがインストルメント化されます。このオプションには、Vitis コンパイラ コマンド に説明されているように、data
、stall
、および exec
の 3 つのインストルメンテーション オプションがあります。
v++
リンク コマンドに --profile_kernel
を追加する例を示します。v++ -g -l --profile_kernel data:all:all:all ...
v++ -g
(または --debug
) オプションも使用してください。ビルド プロセスでアプリケーションのプロファイリングをイネーブルにしたら、xrt.ini ファイルを編集して XRT でもデータ収集をイネーブルにする必要があります。詳細は、xrt.ini ファイル を参照してください。
[Debug]
profile=true
power_profile=true
timeline_trace=true
data_transfer_trace=coarse
stall_trace=all
[Emulation]
セクションに debug_mode
タグも追加する必要があります。[Emulation]
debug_mode=batch
debug_mode
は次のようになります。 [Emulation]
debug_mode=gui
大量のトレース データを収集する場合は、Vitis コンパイラで --trace_memory
オプションを指定し、xrt.ini に trace_buffer_size
キーワードを追加する必要があります。
-
--trace_memory
: プロファイリング データの収集に使用するメモリのタイプを示します (Vitis コンパイラの一般オプション を参照)。 -
trace_buffer_size
: プロファイリング データの収集に使用するメモリの量を指定します。
連続トレース キャプチャをイネーブルにして、アプリケーションの実行中にデバイスのトレース データを継続的にオフロードすることもできます。このようにすると、アプリケーションまたはシステムがクラッシュした場合に、トレース データの一部にアクセスできるので、アプリケーションのデバッグに役立ちます。これをイネーブルにするには、xrt.ini ファイルに continuous_trace
キーワードを追加します。