トレースには、コードでフォーマットされた printf()
文を使用してデバッグ メッセージを表示するのが最も簡単です。中間値、アドレスなどを確認すると、プログラム実行の進捗状況を理解するのに役立ちます。printf()
を使用するには、標準 C/C++ インクルード (stdio.h) 以外に必要なインクルード ファイルはありません。シミュレーションまたはハードウェア エミュレーションではコードに printf()
文を追加し、ハードウェア ビルドでは削除するかコメントアウトします。
AI エンジン カーネル コードに printf
文を追加すると、AI エンジン プログラムのコンパイル後のサイズが増加します。カーネルコードのコンパイル後のサイズが、AI エンジン プロセッサ メモリごとの制限である 16 KB を超えないようにしてください。
重要: シミュレーション中の
printf()
の実行をイネーブルにするには、aiesimulator --profile
コマンドを使用する必要があります。--profile
オプションを指定しないと、printf()
関数は無視されます。メインのシミュレータをできるだけ高速に保つため、この機能には別のドライバーおよびバイナリが使用されます。デバッグ シミュレータ ドライバーを使用すると、カーネル実行のサイクル レベルの詳細な統計を含むタイルごとのプロファイル レポートが出力ディレクトリに生成されます。また、--profile
オプションを使用すると、./aiesimulator_output フォルダーに run_summary ファイルも生成され、
『AI エンジン ツールおよびフロー ユーザー ガイド』 (UG1076) に説明されているように表示できます。