MegEngine / mperf

mperf是一个面向移动/嵌入式平台的算子性能调优工具箱

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

A55 上DSU_L3D_CACHE_REFILL和DSU_L3D_CACHE_WB获取不到

waterdropw opened this issue · comments

参考plot the roofline.md ,抓取cpu function call tma data的时候会有问题,应该是“ Metric_DRAM_BW_Use” 相关events 不支持,看了下https://github.com/ARM-software/data/blob/master/pmu/cortex-a55.json 确实没有DSU_L3D_CACHE_REFILLDSU_L3D_CACHE_WB,奇怪的是修改为L3D_CACHE_REFILL还是会报同样的问题。

enable the following metrics for mperf tma in cpu_tma_transpose

mpf_tma.init(
        {"Metric_GFLOPs_Use", "Metric_DRAM_BW_Use", "Metric_L3_BW_Use", "Metric_L2_BW_Use"});

运行时错误如下:

PD2148:/data/local/tmp/mperf $ ./cpu_tma_transpose
the iter num is 10
the gn and uncore_evt_nums 3, 2
terminating with uncaught exception of type mperf::MperfError: Failed to get a file descriptor for DSU_L3D_CACHE_REFILL

补充一下手机状态:

PD2148:/data/local/tmp/mperf $ echo -1 > /proc/sys/kernel/perf_event_paranoid
/system/bin/sh: can't create /proc/sys/kernel/perf_event_paranoid: Permission denied
1|PD2148:/data/local/tmp/mperf $ ls /sys/bus/event_source/devices/armv8_pmuv3/
cpus    format                      power      type    waiting_for_supplier
events  perf_event_mux_interval_ms  subsystem  uevent
PD2148:/data/local/tmp/mperf $
commented

DSU_L3D_CACHE_REFILL和DSU_L3D_CACHE_WB这两个event定义在arm DSU PMU中的,我只在mtk的一些手机上看到有dsu pmu的支持,高通手机基本都没有

// Note: the compute interface for Metric_DRAM_BW_Use is dependent on the soc
虽然代码里也备注了,但是不容易被注意到

DSU_L3D_CACHE_REFILL和DSU_L3D_CACHE_WB这两个event定义在arm DSU PMU中的,我只在mtk的一些手机上看到有dsu pmu的支持,高通手机基本都没有

// Note: the compute interface for Metric_DRAM_BW_Use is dependent on the soc

虽然代码里也备注了,但是不容易被注意到

试了几个A55 mtk 芯片的手机:realme x7 pro, realme v5, Oppo reno6 都不对,有推荐的机型吗我试试?谢谢~

commented

不记得在哪个设备上测试的了,你可以去查看/sys/bus/event_source/devices目录下有没有dsu pmu

不记得在哪个设备上测试的了,你可以去查看/sys/bus/event_source/devices目录下有没有dsu pmu

有的,我们再研究下。感谢~