ZHCACP7 may   2023 AM62A3 , AM62A7

 

  1.   1
  2.   摘要
  3.   商标
  4. 1引言
  5. 2AM62A 处理器
  6. 3深度学习基准测试
  7. 4零售结账扫描仪应用
  8. 5核心负载
  9. 6器件选择
  10. 7功耗
  11. 8总结
  12. 9参考文献

核心负载

AM6xA 系列中的处理器采用异构架构,具有各种 Arm® 内核和硬件加速器。典型的负载工具(例如 Linux 中的“Top”)不会显示集成微控制器或硬件加速器上的负载。

被测应用是零售结账演示,其运行速率约为 15fps,每帧延迟约为 200ms。这个的瓶颈主要由使用 Python3 为 CPU 编写的应用程序代码而造成。摄像头和物体检测模型 mobilenetv2SSD 可以处理更高的帧速率(高达 60)。对于结账扫描仪,15fps 就足够了,并且允许开发人员选择 SoC 的低成本型号。

8.6 SDK 中支持两种查看核心负载的方法:

  • tiperfoverlay gstreamer 插件,用于沿屏幕底部绘制条形图,如图 5-1 所示
  • 图 5-2 中的 perf_stats 命令行工具,用于将核心负载打印到终端窗口上。

每一个都具有相同的默认更新速率,即 2 秒。tiperfoverlay 插件会增加 DDR 和 CPU 的开销,用于将信息绘制到输出帧。开箱即用演示默认使用 tiperfoverlay。请注意,“MPU1_0”指标是指 A53 CPU 内核上的平均 CPU 负载。

GUID-20230517-SS0I-XQT2-6Z7Z-CJ7PNXZ7NGBG-low.jpg图 5-1 运行零售结账演示时的 tiperfoverlay Gstreamer 插件
GUID-20230517-SS0I-SPFG-BGD6-SJNKGVJKZG3D-low.png图 5-2 运行零售结账演示时的 perf_stats 命令行内核负载

这两个图之间存在细微差异。为了保持一致性,假设 A53 平均负载为 35%,C7x 内核负载为 25%(对于 E2 EVM,最大运行速度为 1.7TOPS),则 ISP (VISS) 为 10%,且多标量引擎 (MSC) 平均运行速度为 17%。请注意,在图 5-1 中,tiperfoverlay 增加了在屏幕上绘制性能信息的开销,这对 DDR 的使用有很小的影响。

对于 MSC,总体使用量超过了 VISS,因为视觉流水线具有拆分和合并;性能影响是输入和输出的总和,在这个以大约 15fps 运行的 gstreamer 流水线中,预计为 115MP/s 的几个百分点以内。VPAC 加速器在内部包含 MSC 和 ISP (VISS);对于此分析,请考虑 VPAC 的总体使用率为 10%。

DDR 为 3200MT/s 和 32 位,因此总共 2470MB/s 相当于大约 20% 的使用率,其中 30% 是写入传输。要查看用户空间中当前使用的内存大小,“htop”Linux 实用程序(请参阅图 5-3)非常有用。在本例中,操作系统中仅使用大约 315MB 的内存。请注意,最大值为 3.24GB。这是针对 Linux 内核和硬件加速器分割后 EVM 上 4GB LPDDR 模块的剩余容量。例如,在 8.6 处理器 SDK Linux 中,默认会为 C7xMMA 分配 256MB。考虑到这种内存使用情况,成本优化型系统可以使用 1.5GB 的 DDR,如果对 Linux 映像进行更多优化以删除不使用的服务和软件包,则可以低至 1GB。

GUID-20230517-SS0I-XKSS-8R7J-C2DR6GR9PN9R-low.png图 5-3 使用“htop”Linux 实用程序时的零售结账演示负载