应用时间线 - 2022.1 简体中文

Vitis 统一软件平台文档 应用加速开发 (UG1393)

Document ID
UG1393
Release Date
2022-05-25
Version
2022.1 简体中文

剖析还会显示应用层中各运行阶段的时间线轨迹,如图所示。这显示在 Vitis 分析器中的“SystemCompile”(系统编译)选项卡下。这些时间线轨迹行说明如下。

  • Send body(发送主体):每个框都会捕获一次发送迭代的起始和结束,包括在发送 lambda 函数中执行任意用户编写的代码。
  • Receive body(接收主体):每个框都会捕获一次接收迭代的起始和结束,包括任意用户编写的代码。在此示例中,接收迭代速度比发送迭代快得多(图中占比例非常小)。
  • Compute(计算):每个框都会捕获 compute 调用的起始,直至应用接收到结果为止(在 C++ future 上出现 get())。
  • Input transfers(输入传输):这些对应于每项 compute 作业的输入数据传输。在此示例中,这些输入写入 HBM 存储体。
  • CU-pipeline(CU 流水线):应用层维持着多个软件作业流水线,通常超过硬件中的 CU 数量,以保证高效执行。每一行都是一条独立的软件流水线,并且它会捕获每一次作业执行,从该流水线中提交开始直至硬件完成作业为止。
  • Detail(详细信息):此行会捕获执行模型中的部分关键事件,主要是针对每次 compute 调用发出起始信号和接收完成信号的事件。
  • Output transfers(输出传输):这些对应于每项 compute 作业的输出数据传输。在此示例中,这些输出数据读取自 HBM 存储体。
图 1. 应用时间线