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++ 构建设置)

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

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

 

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

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

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

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

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

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

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

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

 

使用 Vitis 分析器分析追踪

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

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

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

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

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

最近更新

  1. TCP协议是安全的吗?

    2023-12-26 00:54:02       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-26 00:54:02       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-26 00:54:02       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-26 00:54:02       20 阅读

热门阅读

  1. 快速搭建适用于中小企业的专用网络环境

    2023-12-26 00:54:02       39 阅读
  2. PCAN FD

    2023-12-26 00:54:02       32 阅读
  3. 算法训练|实现 Trie (前缀树)

    2023-12-26 00:54:02       44 阅读
  4. 【zookeeper特点和集群架构】

    2023-12-26 00:54:02       33 阅读
  5. VS Code无法远程ubuntu

    2023-12-26 00:54:02       37 阅读
  6. jwt令牌的基本使用,前端如何存储token

    2023-12-26 00:54:02       28 阅读
  7. Cesium.js相关官网或博客

    2023-12-26 00:54:02       34 阅读
  8. 老手来看,新手学学(高精度第一篇)

    2023-12-26 00:54:02       37 阅读