AI 引擎系列 7 - 在仿真内通过追踪来可视化 AI 引擎事件(2022.1 更新)

简介

 

在前几篇 AI 引擎系列博文中,我们讲解了 AI 引擎仿真器生成的用于执行 AI 引擎 (AIE) 应用功能验证的文本文件。

在本文中,我们将讲解如何生成追踪来观察计算图 (graph) 的状态,这也是执行性能分析的关键要素。

 

要求

 

下文要求您通读前几篇 AI 引擎系列博文。

AI 引擎系列 1 - 从 AI 引擎工具开始(2022.1 更新)

AI 引擎系列 2 - AI 引擎计算图简介 (2022.1 更新)

AI 引擎系列 3 - AI 引擎内核简介

AI 引擎系列 4 - 首次运行 AI 引擎编译器和 x86simulator(2022.1 更新)

AI 引擎系列 5 - 以 AI 引擎模型为目标运行 AI 引擎编译器(2022.1 更新)

AI 引擎系列 6 - 在 Vitis 分析器中分析 AI 引擎编译结果(2022.1 更新)

 

禁用编译器优化

为了获得最详细的可视化,最好禁用编译器优化。

要禁用编译器优化,请右键单击 simple_application 工程,然后单击“C/C++ Build Settings”C/C++ 构建设置)

AI 引擎系列 7 - 在仿真内通过追踪来可视化 AI 引擎事件(2022.1 更新)_第1张图片

随后在“Settings > AIE C Compiler > Miscellaneous”(设置 > AIE C 语言编译器 > 杂项)中,将“Optimization”(优化)设置更改为“No Optimizations (xlopt=0)”(无优化 (xlopt=0))。

AI 引擎系列 7 - 在仿真内通过追踪来可视化 AI 引擎事件(2022.1 更新)_第2张图片

单击“Apply and Close”(应用并关闭),然后单击锤子图标重新编译“Simple Application”工程。

 

从 AI 引擎仿真器生成 VCD 追踪

AI 引擎仿真器可按值变转储 (VCD) 文件形式来生成硬件信号的详细转储。仿真完成后,即可处理完该 VCD 文件并将其包含在各项事件中,每项事件都包含时间戳、不同事件类型和关联的数据。这些事件用于描述 AI 引擎应用的执行过程。

要从 Vitis IDE 生成 VCD 文件,请首先在“Project Explorer”(工程资源管理器)窗口中单击该 AI 引擎应用,然后单击“Run As > Run Configurations...”(运行方式 > 运行配置)。

AI 引擎系列 7 - 在仿真内通过追踪来可视化 AI 引擎事件(2022.1 更新)_第3张图片

“Run Configurations”窗口中,启用“Generate Traces”(生成追踪)并选中 VCD

AI 引擎系列 7 - 在仿真内通过追踪来可视化 AI 引擎事件(2022.1 更新)_第4张图片

单击“Run”(运行)即可启动仿真。这样我们即可看到下列命令的执行过程:

aiesimulator --pkg-dir=./Work --i=.. --dump-vcd=foo

通过与先前运行过程相比较,即可看到本轮运行添加了 --dump-vcd= 选项用于生成 VCD 追踪。

仿真完成后,可以看到在 Emulation-AIE 文件夹下创建的 VCD 文件 (foo.vcd)

AI 引擎系列 7 - 在仿真内通过追踪来可视化 AI 引擎事件(2022.1 更新)_第5张图片

 

使用 Vitis 分析器分析追踪

运行仿真后,Vitis 会生成 Vitis 分析器文件,其中包含仿真输出。

打开 Emulation-AIE/aiesimulator_output 下的 default.aierun_summary 文件。

AI 引擎系列 7 - 在仿真内通过追踪来可视化 AI 引擎事件(2022.1 更新)_第6张图片

这样即可打开 Vitis 分析器工具。

“Trace”(追踪)选项卡中,会显示追踪信息,包括核、DMA、锁定与信号线的状态(按功能块来组织)

AI 引擎系列 7 - 在仿真内通过追踪来可视化 AI 引擎事件(2022.1 更新)_第7张图片

此视图对于估算内核的执行时间很有用。例如,其中可以看到首个内核的首次调用于 556.8 ns 后开始,并于 729.6 ns 后结束。因此该内核执行时间达 172.8 ns 216 个时钟周期,其中 AI 引擎运行频率为 1250 MHz

AI 引擎系列 7 - 在仿真内通过追踪来可视化 AI 引擎事件(2022.1 更新)_第8张图片

你可能感兴趣的:(Vitis,AI,引擎系列,人工智能)