专栏算法工具链J6X CAMSYS 性能测试方案介绍

J6X CAMSYS 性能测试方案介绍

zsy2024-12-23
114
0

性能测试方法原理

CAMSYS其性能指标主要包括:帧率、延迟,以及系统的DDR带宽、CPU占用率等。

对于帧率、延迟,通过在驱动中创建trace event,分别记录通路上的每个IP,每帧开始处理(frame_start)和结束处理(frame_end)的时间戳信息和帧信息,来实现帧率计算和延迟统计。

帧率统计

每个模块处理完成后会产生一个frame_done中断,此时会记录下一个event点,此时在时间轴上每一帧则对应一个个离散的点。按照时间进行resample(重采样),得到每秒的帧率数据序列,此种方法可以较为直观的反应帧率变化。

延迟统计

对于延迟会统计两个数据,第一个是硬件处理引入的耗时,这个数据一般与处理尺寸相关相对固定,这个耗时称为模块延迟(module latency);另外一个是从cim 接受到一行数据产生frame_start开始到当前模块frame_end的耗时,这个耗时包括sensor的出图完成+前级IP硬件处理耗时+软件耗时,这个延迟称为到某模块的通路延迟(flow latency)。

模块延迟

只需要将该模块trace的帧event中的fe时间戳 - fs时间戳即可得到硬件处理耗时,即为module latency

模块

模块延迟含义

备注

CIM

CIM FE - CIM FS

 

ISP

ISP FE - ISP FS

 

YNR

YNR FE - YNR FS

 

PYM

PYM FE - PYM FS

 

GDC

GDC FE - GDC FS

此处GDC FS 不代表中断,指得是配置寄存器triger硬件开始处理得时间

STITCH

STITCH FE - STITCH FS

此处stitch FS 不代表中断,指得是配置寄存器triger硬件开始处理得时间

 

通路延迟

在trace的event中会传递cim的fs时间戳(timestamp),因此只需将模块的fe event时间戳-timestamp,即可得到从第一行像素输入开始到当前的整个通路延迟。

如以到GDC的通路延迟为例,那么统计的通路延迟就包含如图所示的所有延迟。

模块

通路延迟含义

备注

CIM

CIM FE - CIM FS

等同于CIM的模块延迟

ISP

ISP FE - CIM FS

 

YNR

YNR FE - CIM FS

 

PYM

PYM FE - CIM FS

 

GDC

GDC FE- CIM FS

 

STITCH

STITCH FE - CIM FS

 

CPU占用率统计

统计两个指标,一个是统计测试时CPU整体的load;第二个是开发工具统计感知通路相关进程以及内核线程造成的CPU开销。前者反应当前测试的环境的状态,后者反应CAMSYS 软件的开销。

DDR带宽统计

使用hurt_ddr工具获取DDR 读写信息,主要统计整体的DDR读写带宽与CMA SYS的读写带宽。

 

报告解读

基础数据信息中包含着测试环境、测试用例等固定信息

数据分析划分为两部分,第一部分为VPS的帧率、延迟分析,每个颜色块对应着某一条通路在该模块的帧率和延迟数据,其中延迟为到该模块的通路延迟。

 

第二部分为系统load分析,包括系统整体的CPU、DDR load,也包括VPS对应的CPU load、CMA SYS 读写带宽

可视化图形解读

VPS的数据分析中, 每个模块的每个通路对应一个可视化结果: 第一个子图为模块的硬件处理耗时,纵轴为耗时(ms),横轴为帧序,如下图的isp_latency;

第二个子图为到该模块的通路延迟,纵轴为耗时(ms),横轴为帧序,如下图中的vin->isp_flow_latency;

第三个子图为对应的帧率统计序列,纵轴为帧率),横轴为时间(s)

系统负载分析中,第一个子图为CPU load, 纵轴为loading(%),横轴为时间(s);第二个子图为DDR读写带宽,纵轴为带宽(MB/s),横轴为时间(s)。

算法工具链
社区征文征程6技术深度解析杂谈
评论0
0/1000