来了!openKylin 3.0 全面升级优化,赋能 RISC-V 高性能 AI 生态建设
近日,OpenAtom openKylin(简称“openKylin”)社区正式公布了openKylin 3.0版本的核心软件包选型方案。本次选型通过对编译器、系统基础库等策略性升级,为 RISC-V RVA23在复杂场景下的应用构筑了坚实的系统底座。此外,基于openKylin 3.0核心组件的基线标准,openKylin RISC-V SIG与麒麟软件技术团队协同对 RISC-V AI 推理计算进行了自下而上的全方位优化。
选型升级:强化底层支撑与指令级协同
openKylin 3.0 对包括 Linux 内核、编译器、图形栈及网络栈在内的 180 余个核心组件进行了全面升级。在openKylin 3.0的构建过程中,社区重点选用了对 RISC-V Vector (RVV) 指令集支持更完善的工具链版本,旨在解决AI算子在 RISC-V 平台运行时的性能转化效率问题。同时,通过引入一系列具备多线程优化能力和新型I/O接口支持的系统库,为系统处理高频数据交换、应对大规模并发请求奠定了更坚实的基础。本次选型既能够满足当前各类AI应用的实际需求,也为未来向高性能计算场景延伸提供了充足的扩展空间和稳定保障。
openKylin 3.0 部分关键组件选型概览
专项优化:基于进迭时空K3平台的AI优化
在openKylin 3.0核心工具链与系统库的支撑下,基于进迭时空K3平台和RISC-V Vector (RVV) 原生向量技术,针对主流AI推理框架及算子库开展了深度专项优化,显著增强了核心推理场景加速能力。作为全球首款符合RVA23标准的量产芯片,SpacemiT K3凭借其强劲的并行计算性能与架构优势,有效验证了openKylin 3.0核心组件选型在高性能RISC-V运行环境下的技术优越性与场景适配能力。
ONNX Runtime
进一步完善了 ONNX Runtime 在 RISC-V Vector 平台上的 MLAS 内核体系,面向激活函数中的关键算子以及SGEMM、LayerNorm、Conv、Pool等关键算子进行了 RVV 原生向量化实现。测试结果显示,在 SpaceMIT K3 CPU上,FP32精度下,实现bge-base、bge-reranker、ocr等多场景下2-5倍不等的加速成果。并经过dispatch的MLAS库的方案,使用进迭时空IME指令集,基于进迭时空私有编译链编译,在RVV原生指令集的优化基础上,int8精度下在reranker和embedding等场景下进一步实现了约30%的提升(以上均基于X100的普通计算核心八核并行测试)。
vLLM
推动 vLLM 完善了 RISC-V CPU 后端的 RVV 多 VLEN 适配机制,解决了此前实现对固定向量长度的依赖问题,支持 VLEN=128、VLEN=256 及标量三种构建路径,提升了在不同 RISC-V 硬件平台上的兼容性、稳定性和可部署性。该项工作已在 RISC-V 向量平台完成构建与运行验证,其中 PR #39478 已合入上游社区,vLLM 已在 SpaceMIT K3 CPU 上完成端到端跑通验证。
XNNPACK
向 XNNPACK 社区提交了面向 RISC-V Vector 的 fp32/fp16 RVV 微内核扩展,围绕激活函数、双线性插值和矩阵乘等关键路径补齐并优化了向量化实现。测试结果显示,在 SpaceMIT K1/K3 平台上,fp32 路径普遍实现 4.0 倍 到 9.6 倍 加速,其中 PPMM 在 K3 上最高提升 8.3 倍;fp16 激活算子在 K3 上最高实现 36.5 倍 加速,进一步提升了 XNNPACK 在 RISC-V 平台上的算子覆盖与推理性能。目前相关工作已提交上游 PR #9962、#9963、#9964 和 #9986。
未来展望
openKylin RISC-V SIG组将会持续维护社区组件选型的基线,贡献upstream社区。并期待联合更多CPU厂商,构筑场景化软件栈优化,以开源的包容、技术的创新、根社区的商业前置能力,构筑RISC-V生态的繁荣。