高通SNPE - 基准测试概述(3)

SNPE 专栏收录该内容
16 篇文章 3 订阅

架构支持

SNPE基准测试同时支持有Android ARM 32位和AARCH 64位。除Android外,对LinuxEmbedded的支持有限,其中仅支持计时的测量。

将运行时Runtime和度量Measurement连接起来,以形成完整的运行组合名称,例如,

  • “ GPU_timing”:GPU运行时,定时测量
  • “ CPU_mem”:CPU运行时,内存测量

这里请注意,对于每个指定的运行时,都有多组时序测量值,它们仅在张量格式上有所不同(使用ITensor和使用用户缓冲区)。例如,对于DSP运行时,将进行以下时序测量:

  • “ DSP_timing”:使用ITensor在DSP运行时上进行时序测量
  • “ DSP_ub_tf8_timing”:使用带有TF8编码的UserBuffer在DSP运行时上进行时序测量
  • “ DSP_ub_float_timing”:使用带浮点编码的UserBuffer在DSP运行时上计时测量

运行基准

运行基准测试的最简单方法是指定-a选项,该选项将在连接到计算机的单个设备上运行基准测试。

cd $ SNPE_ROOT /基准
python3 snpe_bench.py​​ -c yourmodel.json -a

基准测试将在主机文件(在JSON配置中指定的文件)和设备文件上执行md5sum。由于md5sum检查,基准运行所需的文件必须在主机上可用。

对于主机和设备上同时存在md5不匹配的任何文件,基准测试会将文件从主机复制到目标,并发出警告消息,告知您本地文件与设备文件不匹配。这样做是为了确保您可以从基准测试获得的结果准确反映JSON文件中指定的文件。

其他选择

  • -v选项
    允许您覆盖配置文件中指定的设备ID,以便同一配置文件可用于多个设备。如果连接了多个设备,则可以使用此选项代替-a。

  • -o选项
    仅当为HostRootPath和HostResultsDir指定相对路径时,结果输出基本目录覆盖才适用。无论您从何处运行基准测试,它都可以合并输出。

  • -t选项
    操作系统类型覆盖当前支持Android arm(armeabi-v7a),Android aarch64(arm64-v8a)和Linux嵌入式设备。

  • -b选项
    允许您指定输入和输出用户缓冲区的类型。

  • -p选项
    允许您分析不同操作模式下的性能。

  • -l选项
    允许您指定性能分析的级别。

阅读结果

在HostResultsDir / latest_results文件夹中打开结果(CSV文件或JSON文件)以查看结果。 (HostResultsDir是您在json配置文件中指定的内容。)

测量方法

在所有情况下,snpe-net-run可执行文件都用于加载模型并通过模型运行输入。

表现(“时间”)

使用SNPE库中的内部计时实用程序进行计时测量。当执行snpe-net-run时,库会将计时信息记录到文件中。然后将该文件脱机解析,以检索总推理时间和每层时间。

总推断时间包括每层计算时间以及开销(例如层之间的数据移动以及进出运行时的开销),而每层时间严格来说是每一层的计算时间。对于较小的网络,开销相对于计算时间而言可能是相当大的,尤其是在卸载网络以在GPU或DSP上运行时。

同样,在神经元conv-neuron或fc-neuron对的情况下,GPU / DSP上存在的进一步优化可能会导致层时间分配错误。在GPU上执行时,两对的总时间将分配给conv,而对于DSP,则将它们分配给神经元。

基准依赖性

基准脚本所依赖的二进制文件位于以下配置文件中,具体取决于目标体系结构,编译器和STL库:

  • Android 32-bit
    • clang - libc++: snpebm/snpebm_artifacts.json
  • Android 64-bit
    • clang - libc++: snpebm/snpebm_artifacts_android_aarch64.json
  • LinuxEmbedded: snpebm/snpebm_artifacts_le.json
  • 0
    点赞
  • 1
    评论
  • 1
    收藏
  • 打赏
    打赏
  • 扫一扫,分享海报

©️2022 CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页

打赏作者

weixin_38498942

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

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

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

打赏作者

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

抵扣说明:

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

余额充值