Xilinx Vitis TCF Profiler性能剖析器应用

3 篇文章 0 订阅

Xilinx Vitis TCF Profiler性能剖析器应用

介绍

  • Profiling是一种确定应用程序在哪里花费时间的技术。目的是帮助用户直观的观察到程序运行期间各个函数的运行时间占比,从而帮助用户优化提高程序运行的效率。
  • TCF Profiler支持对standalone和 Linux 应用进行剖析。构建应用时,TCF Profiler无需设置任何其它编译器标志。首先通过调试接口进行“程序计数器 (Program Counter)”采样,随后基于采样通过JTAG进行独立应用剖析。原理是周期性的采样PC寄存器的值,存入一个表中,然后将该表与目标代码进行反向映射,从而确定在采样时刻运行的是哪一个函数或者程序。 禁用栈追踪时,它并不会更改程序执行流程,属于非侵入式操作。启用栈追踪时,由于调试器必须收集栈追踪信息,因此会减缓程序执行速度。

调试步骤(基于Vitis2022)

  1. 选择您要剖析的应用。

  2. 右键单击应用并依次选择“Debug As”→“Launch on Hardware (Single Application Debug)“。在这里插入图片描述

  3. 当应用止步于 main 时,依次选择“Window” → “Show View” → “Debug” → “TCF Profiler”以打开 TCF 剖析器视图。
    在这里插入图片描述

  4. 如图单击红框中的按钮以启动剖析。这样会显示“剖析器配置 (Profiler Configuration)”页面。
    在这里插入图片描述
    在这里插入图片描述

  5. 选择“Aggregate Per Function”选项以将针对不同地址收集的所有样本都组合到单一函数内。禁用该选项时,收集的样本会按地址来显示。

  6. 选择“Enable stack tracing”选项以显示样本数据中每个地址的栈跟踪。要查看地址的栈追踪,请单击剖析器视图中的对应地址条目。

  7. 指定“Max stack frames count”以设置显示栈追踪视图中显示的最大帧数。

  8. 指定“View update interval”,以设置TCF 剖析器视图更新并显示新结果的时间间隔(以毫秒为单位)。请注意,此时间间隔不同于收集剖析样本的时间间隔。

  9. 开始Debug应用。剖析器将更新并显示数据,如下图所示。
    在这里插入图片描述
    在这里插入图片描述
    Address: 代表函数在内存中的位置
    %Exclusive: 独占时间是纯粹在该函数上花费的时间占比,不包括在子函数上花费的时间.
    %Inclusive: 非独占时间是指在程序运行期间函数本身和所有子函数中花费的时间占比。
    Function: 采样到的函数名称
    File: 采样到函数所在的文件
    Line: 函数在文件中的行号

  10. 当启用栈追踪模式(Enable Stack Tracing)时:点击对应函数会在Called From和Child
    Calls中显示函数的调用关系,并且显示调用函数所占用的时间占比。如下图:
    在这里插入图片描述

  11. 当禁用Aggregate Per Function也就是不勾选Aggregate Per Function选项时,剖析结果如下:
    在这里插入图片描述
    在这里插入图片描述
    结论:通过勾选与不勾选Aggregate Per Function选项可以看到,如果不勾选在一个函数内的多个采样会按照采样地址来进行显示,如果勾选了会把函数内的所有采样合并到一个函数内进行显示。

参考文档:

ug1400-vitis-embedded.pdf

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

IT@CUI

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值