【进迭时空双周报】-(20250604-0618)

一.开发者常见问题

1.已解决问题

问题类型 链接
工具安装与使用 工具安装与使用
硬件功能与性能 硬件功能与性能
驱动与系统兼容性 驱动与系统兼容性
产品相关 产品相关

工具安装与使用

问题】这个perf工具在Bianbu OS上是怎么安装的呢
回答】查看当前的内核版本
cat /proc/version
比如看到是6.6.63-cloud,则安装
sudo apt install linux-tools-6.6.63-cloud
然后执行perf,如果提示缺少什么依赖,则安装,例如当看到提示k1% perf
/usr/lib/linux-tools/6.6.63-cloud/perf: error while loading shared libraries: libpfm.so.4: cannot open shared object file: No such file or directory

sudo apt install libpfm4
当不确定要安装的软件包名字,可以尝试search,例如
sudo apt search pfm4
或者在网上搜索下怎么安装。

问题】有perf软件包的源码吗?板子不方便联网
回答】perf的源码是在内核里面的 linux-6.6: Linux 6.6 supports SpacemiT Key Stone K1 CPU - Gitee.com
如果只是为了用perf,我理解下载deb,再拷贝进去不方便联网的板子安装会比自己全部从源码构建简单一些。
可以直接从Index of /bianbu/pool 找到需要的包下载。

问题】perf的源码是在内核里面的 linux-6.6: Linux 6.6 supports SpacemiT Key Stone K1 CPU - Gitee.com请问哪个包是perf的 只看到了perftest
回答】linux-tools-<内核版本> 的包就包含了perf

问题】想请教一下perf的使用,不知道为什么同一个elf有时候测出来了数据差别那么大需要清理一下cache吗
回答】因为每次测试cpu进程调度都不一定相同,后台程序也会影响cpu和内存,你这个数据差别是正常的,差距30%以内都是正常的如果想得到比较可信的数据的话可以用perf record采样

问题】想问问该怎么理解perf report里每行指令前面的period?像csrr和add这样的指令为什么会出现l2miss呢?都在寄存器里面
回答】perf指令是它以某个频率(图上的 4000Hz)对 CPU 执行的指令进行采样。每当发生一个 l2_miss 事件,它就记录下当时正在执行的那一条指令的地址。在发生l2_miss的那一刻,CPU 正在执行 csrr 这一条指令,但 miss 实际可能是由之前或并行的 load/store 操作触发的。如果要做实验的话,可能可以在这条vle和csrr之间插入几条nop指令,看看是不是统计出来都落在nop那边?

硬件功能与性能

问题】在开发板上尝试了ffmpeg的硬件编解码,没法使用,vainfo 显示opendriver失败,但是使用gstreamer调用ffmpeg的avdec_xxxx这个插件,gpu是在处理的,所以ffmpeg是可以进行硬解的吗。
回答】ffmpeg支持硬件编解码,硬件编解码器名称为"[编解码格式]_stcodec"。
ffmpeg硬件解码命令参考:
ffmpeg -c:v h264_stcodec -i test.h264 output.yuv
ffmpeg硬解编码命令参考:
ffmpeg -f rawvideo -s 1920x1080 -pix_fmt nv12 -i output.yuv -c:v h264_stcodec output.h264

驱动与系统兼容性

问题】远程控制musepipro时,如果我把HDMI断开,就无法远程桌面了
回答】因为你拔掉hdmi,系统检测不到显示器,就不会启动图形界面,你可以尝试在conf文件里写一个虚拟输出,或者上淘宝买一个hdmi dummy plug

问题】请问有没有大佬在musepi上用过dpdk的,我是外接了一块m.2接口的i211网卡,也绑定成功了,python /home/dpdk/output/bin/dpdk-devbind.py --status Network devices using DPDK-compatible driver
============================================
0002:01:00.0 ‘I210 Gigabit Network Connection 1533’ drv=igb_uio unused=igb但是用testpmd无法发送数据
回答】musepi 上面dpdk 当前支持 --vdev=net_af_packet0 配置。dpdk默认需要pcie支持cache一致性,当前k1不支持。
需要修改dpdk的网卡驱动:
1.网卡驱动dma描述符 在内核申请一致性内存,然后映射到用户空间;2. 主动刷cache(发送buf)和使cache无效(接收buf)。

问题】openeuler 6.6 OLK 内核中,k1驱动已经合并了吗?
回答】已经能加载initramfs了,更多的驱动还在合入过程中

产品相关

问题】请问这一款单板支持什么指令集规格呢?有没有具体的技术文档?【淘宝】50%买家复购 https://e.tb.cn/h.hZK8jV1smY8caxq?tk=Yk3rVJs7m8L CZ028 「MUSE BOX电脑主机进迭时空RISC-V国产芯片自研系统8核高性能」
点击链接直接打开 或者 淘宝搜索直接打开
回答】你好,可以去社区查看相关文档,我们的资料都开源在社区了进迭时空开发者社区

问题】我们这块musepipro板子的功耗,算力有多大?
回答】功耗5-10w,算力在2Tops

问题】k1芯片有没有trace功能啊?
回答】是指n-trace/e-trace这种吗?k1没有支持

问题】there is Bianbu v2.2, but my Banana Pi BPI-F3 is on Bianbu 2.1.2, and says there is no newer version
Index of /image/k1/version/bianbu tells there is Bianbu v2.2, but my Banana Pi BPI-F3 is on Bianbu 2.1.2, and says there is no newer version.How can I solve this?
回答】Bianbu v2.2已上线

2.导入内部问题

问题】板子上自带的工具链不支持rvv intrinsic v1.0, 进迭时空没有再更新过工具链吗?

问题】如何测试ffmpeg编码帧率上限

问题】我使用 vmdot 指定实现了一个简单的矩阵乘算法,验证功能。在运行时出现了 segmentfault 问题,求大佬解答。以及是否有编程手册及程序示例

二.优秀案例

YouTube

解锁全新开发体验-代码与教程合一!

K3s (Kubernetes) on RISC-V

论坛

在Bit-Brick Cluster K1使用distcc集群编译 - RISC-V - 进迭RISC-V论坛

Bilibili

进迭时空RISC-V Vector技术实践 - 哔哩哔哩