更多精彩,请点击上方蓝字关注RVEI

6 月 24 日,众智 FlagOS 2.1 正式发布。进迭时空(SpacemiT)的 RISC-V 后端已进入 FlagGems 发版链路,成为本次版本中面向 RISC-V AI 生态的一项重要更新。

FlagOS 2.1 发版中关于 SpacemiT RISC-V 后端支持的介绍:
这意味着,基于 SpacemiT K1、K3 平台,RISC-V 在 FlagOS 和 FlagGems 体系下开始接入更完整的 Triton 算子工程链路:从后端接入、算子实现、功能验证,到上游 PR、版本发布与后续演进,都有了更清晰的落点。
“
这件事为什么值得关注
过去,Triton 更多服务于 GPU 算子开发;但在 AI 芯片形态越来越分化的背景下,开发者其实更需要一套可统一表达、验证、优化和协作的算子体系。否则,每一种硬件都要重复构建一遍独立的软件链路,迁移和维护成本会持续放大。
FlagGems 是 FlagOS 生态中的通用 Triton 算子库,基于 PyTorch ATen 后端注册机制,为不同硬件平台提供算子替换、调度和验证能力。SpacemiT backend 的加入,让 RISC-V 平台也开始进入这一多后端算子体系。
目前该 backend 运行在 SpacemiT K1 和 K3 芯片上,基于 SpacemiT Triton 编译并执行 FlagGems operators,是一个 RISC-V AI 软件栈的标准化、上游化和社区协作的阶段性工程节点。

基于上图可以看到,在 SpineTriton 以及 FlagGems 的 SpacemiT 算子库加持下,K3 的算子推理性能提升了3-10倍。
“
我们具体做了什么
围绕 FlagOS 2.1,SpacemiT backend 主要完成了几类工作
1. 增加 SpacemiT runtime backend,并接入 FlagGems vendor/runtime 基础设施
这是这次工作的基础部分。通过新增 spacemit runtime backend,SpacemiT 后端能够接入 FlagGems 既有的多 vendor runtime 架构,而不是作为单独分支孤立维护。
相关 PR 包括 flagos-ai/FlagGems 、、,其中 已合入 flagos-ai:master,并进入相关发版链路。
2. 完成首批算子实现与验证
当前 SpacemiT backend 已通过 ops/__init__.py 导出首批 26 个算子,并完成当前阶段验证,覆盖矩阵计算、规约、激活、归一化和选择类算子,包括:
mm, mm_out, bmm, bmm_out, mv
argmax, argmin
gelu, gelu_, gelu_backward
layer_norm, mean_dim, global_avg_pool
sigmoid, silu, softmax
rsqrt, pow_*, where_*
其中,layer_norm、silu 已接入 torch.autograd.Function;gelu、softmax、sigmoid 提供 backward 相关实现。

“
对 RISC-V AI 软件生态来说
这意味着什么
SpacemiT backend 进入 FlagOS 2.1,是 RISC-V + Triton + AI 进入上游协作体系的阶段性进展。我们希望通过 SpacemiT backend 的持续演进,让开发者、社区、厂商能够在 RISC-V 平台上更自然地使用 Triton 算子。
随着支持算子范围继续扩大、验证链路逐步完善,以及更多能力进入上游,RISC-V 平台上的 Triton 使用和协作方式也会更接近一个可复用、可维护、可持续演进的软件栈。
接下来,相关工作还会继续围绕几个方向推进,包括扩大已导出算子覆盖范围、推进 conv 和 flash_attention 等已有实现进入稳定状态、补充更多功能与性能验证,以及持续完善 SpacemiT backend 在 FlagGems 上游链路中的维护和演进能力。欢迎大家持续关注。
相关链接
FlagGems: https://github.com/flagos-ai/FlagGems
spine-FlagGems: https://github.com/spacemit-com/spine-FlagGems
FlagOS: https://github.com/flagos-ai
FlagOS 下载入口:
https://flagos.io/resourcedownload
来源:进迭时空
