一.开发者常见问题
1.已解决问题
问题类型 | 链接 |
---|---|
指令集与扩展 | 指令集与扩展 |
Python环境与库 | Python环境与库 |
系统与工具链 | 系统与工具链 |
性能与优化 | 性能与优化 |
调试与问题排查 | 调试与问题排查 |
指令集与扩展
【问题】老师,在虚拟环境中执行python3后,import cv2 help(cv2),没有看到rvv这个模块。
【回答】RVV是一种底层硬件加速指令集扩展,它在 OpenCV C++ 编译阶段启用的,它不是 Python 模块
【问题】想问一下如果自己添加rvv稀疏指令,需要修改bianbu-linux/linux-6.6/arch/riscv/kernel内核源文件并且重新编译吗?尝试编译了一个c++和.S文件:chmod +x test.elf ./test.elf报错:非法指令(核心已转储)
【回答】objdump看看,或者gdb调试一下,大概率是vector指令用错了 如果是访存指令 很有可能是非对齐的问题 Bump to v1.6 for misaligned vector load/store support · Issue #IBQR9H · Bianbu Linux/opensbi - Gitee.com
【问题】咱们的K1芯片支持 H 扩展嘛
【回答】不支持,x100支持
【问题】BianbuCloud上面ISA中没有IME扩展,如何使用vmadot?直接使用vmadot,加-mcpu=spacemit-x60编译,运行时还是会出现“非法指令(核心已转储)”。
【回答】可能不是vmadot的问题 而是其他问题 比如向量寄存器设置错误了?最简单的vmadot指令中A、B都是int8类型,C是int32类型,所以使用内联编码时 需要给C 重新设置向量寄存器 比如
asm volatile(
// 设置向量寄存器,元素 8bit,LMUL=1
“vsetvli t0, x0, e8, m1, tu, mu\n”
// 加载矩阵数据
“vle8.v v0, (%[va])\n” // 加载 A 向量
“vsetvli t0, x0, e8, m1, tu, mu\n”
“vle8.v v1, (%[vb])\n” // 加载 B 向量
// IME 扩展的 dot product
“vmadot v2, v0, v1\n” // v2 = v0 * v1 + v2(累加)
//重新设置C的寄存器
“vsetvli t0, x0, e32, m2, tu, mu\n”
// 保存结果
“vse32.v v2, (%[vc])\n” // 存储 32bit 结果
:
: [va]“r”(a), [vb]“r”(b), [vc]“r”(c)
: “t0”, “v2”, “v3”, “memory”
);
【问题】我使用 vmdot 指定实现了一个简单的矩阵乘算法,验证功能。在运行时出现了 segmentfault 问题,求大佬解答。以及是否有编程手册及程序示例
【回答】可以参考这个工程https://github.com/spacemit-com/onnxruntime/blob/spacemit-dev-1.21.0/onnxruntime/core/mlas/lib/qgemm_kernel_spacemit_ime.cpp
Python环境与库
【问题】从musebook K1的bianbu os官方软件仓库中下载安装的python3-opencv
包含HAL risc-rvv这个新模块吗?
【回答】pip install opencv-python --index-url https://git.spacemit.com/api/v4/projects/33/packages/pypi/simple,在虚拟环境下使用,spacemit pypi 源里面最新的opencv-python已经支持了rvv python3-opencv直接依赖到系统的opencv库,系统的opencv库版本较老,暂不支持RVV
【问题】尝试在虚拟环境中使用具备RVV HAL的opencv pip install Onnxruntime和Spacemit-ort在虚拟环境中用python3运行是被告知“onnxruntime library mismatch”
【回答】不要使用单独安装的onnxruntime: pip uninstall onnxruntime,卸载掉只安装spacemit-ort:pip install spacemit-ort==1.2.5 -i https://git.spacemit.com/api/v4/projects/33/packages/pypi/simple
【问题】x60的pytorch安装有什么不同吗?
【回答】软件包库 · archive / pypi · GitLab
【问题】Sudo apt install qt 不行
【回答】Sudo apt install qt是按一下tab健会出现真正的包名,
【问题】qt的ide是什么
【回答】qtcreator
【问题】安装了最新版本的spacemit-ort-2.0.0+alpha3,>>> import spacemit_ort
Traceback (most recent call last):
File “”, line 1, in
File “/home/musepi/myenv/lib/python3.12/site-packages/spacemit_ort/init.py”, line 17, in
ep_lib_handle = ctypes.CDLL(EPLibPath)
^^^^^^^^^^^^^^^^^^^^^^
File “/usr/lib/python3.12/ctypes/init.py”, line 379, in init
self._handle = _dlopen(self._name, mode)
^^^^^^^^^^^^^^^^^^^^^^^^^
OSError: /home/musepi/myenv/lib/python3.12/site-packages/spacemit_ort/libspacemit_ep.so.2.0.0+alpha3: undefined symbol: _ZTIN11onnxruntime18IExecutionProviderE
这个报错是什么情况
【回答】先卸载一下,uninstall onnxruntime spacemit-ort,重新装这个2.0.0
系统与工具链
【问题】https://github.com/pigirons/cpufp/issues/35
【回答】这个得用进迭 patch 的编译器才能编出来,BianbuOS 是有的,也可以去 BianbuCloud 编一个出来拷贝过来用
【问题】我看到包云岗老师近日有提到进迭正在基于香山昆明湖多核版本进行开发。请问基于昆明湖的版本大约何时能有消费端产品?
【回答】x200预计在2026年年底面世
【问题】请问bianbu linux已经支持了哪些摄像头?
【回答】https://forum.spacemit.com/uploads/default/original/1X/6679aed98abf3bc3c4f00b3e762db5f7d6a15eff.png
【问题】请问musebook有可能升级到uefi引导吗?
【回答】目前暂时还没有。如果想体验UEFI的话,可以看一下我们的MUSE PI PRO
【问题】开发板能直接跑裸机 freertos吗?
【回答】内部暂未支持freetos
性能与优化
【问题】请问有没有针对K1自定义指令做的Benchmark?
【回答】https://github.com/pigirons/cpufp/blob/master/benchmark_result/riscv64/SpacemiT_K1.md
【问题】有没有人试过在 K1/M1 上跑 kokoro ?
【回答】kokoro太慢了,可以试下matcha足以实时Matcha — sherpa 1.3 documentation
【问题】musebook
cluster0:0123
cluster1:4567
还是
cluster0:0246
cluster1:1357
?
【回答】cluster0:0123
cluster1:4567
调试与问题排查
【问题】请问SSH远程连接BianduCloud连不上,应该如何解决呢 ssh bianbu@127.0.0.1
【回答】这个是集群私网的ip,不是公网ip,是无法访问的
【问题】请问,将指令内联到c++里面,执行显示这条指令unrecongized opcode,需要将这个指令换成机器码的方式编写执行吗
【回答】写错了,可能是语法问题
【问题】设备开始远程时,显示设备已掉线/设备非空闲,这个需要等一下吗还是要关闭重新申请一下
【回答】可以先等待,可能是机房故障,隔断时间还不行可以先先释放再重新申请
【问题】SpaceMITExecutionProvider推理bug:部分量化后模型使用providers=[“SpaceMITExecutionProvider”]出现识别与boxes与scores错误。已反馈问题。
【回答】使用onnxruntime+SpaceMITExecutionProvider推理产生的bug,烦请以下面的方式说明,
硬件及操作系统:例如K1@bianbu 2.2 (lsb_release -a可查询)
SpacemiTORT版本:例如1.2.5,Python or C&C++
模型名称:如果它是个公版模型提供一个名字,如果是自己的模型,提供一个相似的能够复现的公版模型名字
模型文件:如果能够提供可复现模型,请将模型等可复现文件发给社区相关负责人(或邮箱jinghui.huang@spacemit.com),主题【SpacemiT-ORT-BUG】,如方便,最好提供量化配置Json文件及demo脚本
更详细的说明:量化方式(静态量化or动态量化)、该模型是否在其他推理方式下能够正常运行等
2.导入内部问题
【问题】你好,由于我没找到cpu的设计文档,且不同板卡设计不一样,我希望证实:MUSE PI PRO板卡的cpu,在页表的tlb结构中,是否有缓存pmp检查的结果?
【问题】verysync已经实现了自动rv64构建,怎么上架bianbu的仓库?https://dl-cn.verysync.com/releases/v2.21.3/verysync-linux-riscv64-v2.21.3.tar.gz
二.优秀案例
YouTube
如何在 Orange Pi RV2 上安装 SpacemiT Ollama Toolkit
三.新闻速递
2025 年下半年值得关注的三款高性能 RISC-V 处理器:UltraRISC UR-DP1000、Zhihe A210 和 SpacemIT K3
RISC-V中国峰会