Vitis IDE 中AI 引擎的Pipeline(流水线)视图允许您将特定时钟周期内执行的指令与Disassembly(反汇编)视图中的标签加以关联。底层 AI 引擎流水线在调试模式下使用流水线视图来公开。Vitis IDE 仅支持包含单个内核的 graph 的流水线视图。
要在含单个内核的 graph 上启用Pipeline视图,请在成功构建工程后,从工程调试配置中选中Generate Profile(生成剖析)。
重要:
- 如果您的 graph 具有多个 tile(拼块),则此视图不予显示;但支持单个拼块内包含多个内核。
- 仅限 AI 引擎仿真器才提供流水线视图支持。
图 1.
Debug Configuration对话框
单击Debug(调试)开始调试应用。请注意,Pipeline视图会自动显示在“Debugger Console”(调试器控制台)窗口中。
图 2. 流水线视图
前图中高亮显示了流水线视图中内核的运行时统计数据。
- AI 引擎内核周期计数
- 程序计数器
- ID = 指令解码
- E1-E7 为 AI 引擎执行阶段。标量单元中几乎所有运算都调度为在流水线的 E1 阶段中运行(非线性运算除外)。矢量单元调度则从 ID 阶段贯穿至 E6 阶段。地址生成单元 (AGU) 贯穿两个流水线阶段。在流水线的 E2 阶段,地址已就绪。对于加载单元,在 E7 阶段,来自存储器模块的 AI 引擎中的数据将变为可用。对于存储单元,根据指令类型,在流水线的 E5 或 E6 阶段,数据将从 AI 引擎发出至存储器模块。