RuyiAI 每日动态报告(2026-10-30)
调研窗口:2026-10-29 04:30 ~ 2026-10-30 04:30(北京时间,过去 24 小时),与上一期(10-29 04:30 截点)首尾相接。
信源:GitHub 组织全仓核查(RuyiAI-Stack、ruyisdk、openRuyi-Project、buddy-compiler,逐仓核对窗口内提交、PR 与 Release;上游 fork 按 RISC-V / RVV / 玄铁等关键词过滤)、openRuyi 提交与 PR 合并统计、ruyi 包管理器与 ruyi-imager 的 Release、RuyiSDK 开发者社区论坛、ruyiai-daily 每日情报归档、RuyiAI 官方主页三页快照、arXiv 检索、Google News RSS 中英文定向查询(走代理)。
本期索引
- 今日重点:triton-riscv 一日三笔合入,全部源自 FlagGems 算子迁移暴露的降级缺陷(10-29)
- 一、RuyiAI 栈进展(PyTorch / Triton / TileLang RISC-V 适配)
- 1.1 pytorch:riscv 分支第七日静默结束,整枝重放后抬到上游 3afdbd3(10-29)
- 1.2 llvm-project:riscv 分支整枝重放,新增贡献指南并取消预演开关(10-29)
- 1.3 triton-riscv:三笔降级修复 80 分钟内合入,依赖更新仍在开放(10-29)
- 1.4 tilelang-riscv:主分支第十四日静默(10-29 状态)
- 二、RuyiSDK 工具链与发行版
- 2.1 openRuyi:76 笔提交、10 笔合入,KDE Frameworks 6.31.0 一次铺 64 个包(10-29)
- 2.2 openRuyi 打包面:vkpeak 收录、cmake 模块路径修正、clang-wrap 日更(10-29)
- 2.3 openRuyi 在审:#1350 首轮代码级复核 18 条,ollama 安全更新待合(10-29 状态)
- 2.4 ruyi-imager 1.1.0-rc.1 出包,ruyi 0.54.0 仍无 beta(10-29)
- 2.5 ruyi 主仓:厂商命名清单更新,ABI 探测提案补录(10-29 / 10-28)
- 三、向量扩展、架构测试与算子优化
- 3.1 向量四仓继续静默,基准侧缺口仍在(10-29 状态)
- 3.2 FlagGems 迁移成了 triton-riscv 的缺陷发现机制(10-29)
- 3.3 arXiv 窗口内无新增,10-27 两篇为最新(10-29 状态)
- 四、Buddy Compiler 动态
- 4.1 buddy-server 新 ABI 合入:56 个文件、模型插件体系改为统一接口(10-29)
- 4.2 夜间版 dev20261029 早于 #1015 出包,下游要等下一版(10-29)
- 4.3 在审三笔停在 10-28,Whisper 与接口对齐均未动(10-29 状态)
- 五、社区与活动与官方主页
- 5.1 官方主页三页无变化,博客两篇、文档二十三章(10-29 状态)
- 5.2 论坛两帖:RuyiAI 峰会回顾与香山如意生态大会转载(10-29)
- 5.3 ruyiai-daily 一期,情报口径覆盖 PyTorch、LLVM、Triton 与 RISC-V(10-29)
- 5.4 外部新闻零命中,openRuyi 2026.10 与 0.54.0 均未发(10-29 状态)
- 六、趋势观察
- 6.1 修复先于验收:三笔修复靠迁移过程中攒下的问题单,不靠回归测试
- 6.2 分支治理的两种写法:llvm 写规则并取消预演,pytorch 靠整枝重放
- 6.3 发行版按月铺量,栈级三件套按月卡审
今日重点:triton-riscv 一日三笔合入,全部源自 FlagGems 算子迁移暴露的降级缺陷(10-29)
日期:2026-10-29 来源:PR #58、PR #83、PR #82、提交列表
15:38 到 16:58 的 80 分钟内,triton-riscv 主分支连续合入三笔,作者都是 maochuanjun,改的都是同一层——Triton 到结构化/非结构化 IR 的降级路径。这在时间上并不寻常:该仓上一笔非依赖更新的代码提交是 10-09 的 #86,中间二十天只有 renovate 的夜间版锚点,而这三笔本身分别挂了 82 天、43 天、44 天才合入。
三笔各自对准一个具体缺陷。#83(16:38,4 个文件、+160/−16)修带非均匀张量填充值的掩码加载,即 tl.load(ptr, mask=mask, other=cur) 这种写法。原实现只认标量或 splat 的填充值,遇到真张量就卡在标量提取上,降级后的 IR 里留着不支持的指针操作;改法是结构化加载与非结构化 gather 两条路径都支持张量填充,用 arith.select(mask, loaded, other) 恢复未命中通道,同时允许标量提取失败而不报错,把处理权交回调用方。#58(16:58,2 个文件、+125/−0)修循环携带的 gather 偏移丢失:scf.for 里被携带的张量一旦退出结构化形态,辅助状态只剩中性占位符,用它重建循环结果会把 gather/scatter 塌成连续的 tts.make_tptr,循环里累积的偏移全丢;改法是先校验被分析的操作数确实是 scf.for 的结果,是则直接保留原始循环结果作偏移,并新增一条 loop_result_gather.mlir 回归。#82(15:38,1 个文件、+23/−3)修散列测试的不确定性:原测试用随机索引、允许重复目标位,非归约散列下哪个源值胜出都合法,却拿单一 PyTorch CPU 结果做精确比对;改法把 1D、2D 与原地比对改用唯一目标索引,另加六个重复索引用例(512、1023、1024 三档长度,原地与非原地各一组),只校验胜出值来自正确目标的源集合、未命中的目标保持原值。
三笔的动机都写在 PR 描述里,且都指向同一处:FlagGems 算子迁移。#83 服务于 unique_dim 的实现,#58 服务于 broadcast_to(该内核此前为绕开这个误编译,把 range(MAX_DIMS) 换成了 tl.static_range),#82 是迁移过程中散列算子比对失败倒逼出来的测试修正。也就是说,这三笔不是回归测试发现的缺陷,而是「把一批 PyTorch 算子搬到 triton-riscv 上跑」这件事逼出来的缺陷。
验证强度值得记一笔。#83 明确写在与 RuyiAI 相关的 riscv64 机器上验证:新回归的三条 RUN/FileCheck 全过,全量 lit 291 通过、9 个预期失败、0 个意外失败,张量填充的运行时检查 18 项通过(覆盖结构化与 gather 两条路径、float32/float64/int64、空掩码/部分掩码/全掩码、负零、NaN 与非法未命中 gather 偏移),与更新后的 unique_dim 集成 23 项通过。#58 只跑了针对性的 TritonToStructured 回归,#82 只跑该测试文件(21 通过)——三笔的验证深度并不齐平,前两笔偏局部、第三笔偏单文件。
需要克制的是因果顺序:修复先落地,而需要这些修复的迁移 PR #56 仍停在 09-16,开放未合并。这意味着三笔合入后,broadcast_to 里那个 tl.static_range 绕行可以撤回、unique_dim 可以按原写法提交,但「整批算子是否能在 riscv64 上跑通」这个问题本期没有答案——要等 #56 恢复推进才能验证。
一、RuyiAI 栈进展(PyTorch / Triton / TileLang RISC-V 适配)
1.1 pytorch:riscv 分支第七日静默结束,整枝重放后抬到上游 3afdbd3(10-29)
日期:2026-10-29 来源:pytorch riscv 分支、SyncBots 提交 5a29c201、PR #51、PR #44
连续七日零提交之后,riscv 分支在 14:06 做了整枝重放:分支上 11 笔既有补丁提交的 committer 时间被统一改写为 14:06:44 至 14:06:45 之间,作者时间保持原样——这是重放到新基线的典型痕迹,而不是新开发。重放保留了原补丁集,包括「Add riscv64 image locally (#51)」「Fix bytes_to_scalar for float/complex on RISC-V (#44)」以及更早的 CI 与测试容差改动。
20:48 又补一笔 [SyncBots] Integrate PyTorch at 3afdbd3,只改 cmake/Dependencies.cmake 一行:KINETO_SOURCE_DIR 的 cache 变量加上 FORCE。改动虽小,含义明确——分支的基线抬到了上游 3afdbd3,且这笔是同步机器人自动生成的,不需要人工判断。
同时观察到的错位:分发侧的 python-torch-ruyiai(openRuyi #1352)停在 10-27,本期未动;分支头部已换成新基线。若该包按分支产物构建,包内锁定的源码落点需要重新对齐一次,这一步目前没有 PR 在做。七笔开放 PR(#23、#35、#36、#38、#43、#46、#48)的 updated 时间全部是 20:47:49,属于分支推送触发的批量刷新,不能当作内容有更新;其中的 RVV 两条主线(#46 面向 ATen 的向量扩展支持、#48 的 RISC-V Vector CPU 能力)本期仍无新提交。
1.2 llvm-project:riscv 分支整枝重放,新增贡献指南并取消预演开关(10-29)
日期:2026-10-29 来源:riscv 分支提交列表、提交 faf4def312、RISCV_CONTRIBUTING.md、autorebase 工作流
23:00 前后,riscv 分支做了一次整枝重放:可见的 25 笔提交,committer 时间全部落在 23:00:40 到 23:00:44 这 4 秒内。重放内容里有一笔是真的新东西——[workflows] Push rebased PRs directly and document contribution options(作者时间 10-29 09:59),改动两个文件:autorebase.yml 删掉 8 行(去掉 dry_run 输入与对应的预演分支),新增 82 行的 RISCV_CONTRIBUTING.md。
这份指南把「怎么往 riscv 分支送东西」写成了两条路。路一是先开 issue、由维护者从当前 riscv 切一条 work/issue-NNN 工作分支,贡献者往工作分支提 PR,维护者整合后并入 riscv——适合多人协作、需要稳定历史的工作项。路二是直接向 riscv 提 PR,基线一变就手动触发重基工作流:工作流跑在 PR 源仓库、用源仓库的 GITHUB_TOKEN、以 --force-with-lease 带明确期望 SHA 推回源分支,冲突一律取 riscv 侧(含改删冲突中保留 riscv 侧的删除),等价补丁自动跳过,绝不改写 riscv 本身、也绝不自动合并。
与上一期那份 244 行工作流相比,最大的变化是预演被取消:上一期默认「只预演不推送」,本期改成「成功即推送,没有预览选项」,文档里也明写了这一句。这是把摩擦降下来的同时把风险前移——贡献者本地分支必须及时同步,否则旧基线历史可能被推回去;文档里专门有一段提醒保存未提交工作、避免把旧基线推回远端。另一处细节值得记下:文档明确说用 GITHUB_TOKEN 推送通常不会触发后续的 push/PR 工作流,因此更新后的 SHA 上 CI 是否跑过需要人工确认。
1.3 triton-riscv:三笔降级修复 80 分钟内合入,依赖更新仍在开放(10-29)
日期:2026-10-29 来源:PR #58、PR #83、PR #82、PR #91、PR #56
三笔修复的技术细节已在本期「今日重点」展开,这里补三条状态。其一,三笔合入后主分支在窗口内没有新的代码提交,提交列表的最新仍停在 #58,说明这是一次集中性清理而不是连续开发。其二,renovate 的 #91 把上游 buddy-mlir 夜间版从 nightly/v0.1.3.dev20261027 抬到 dev20261029(+2/−2,一个文件),10-29 16:58 合入 #58 后刷新过一次,仍处开放、可合并状态为 unstable;这笔依赖更新才是下游拿到 #1015 的通道,详见 4.2。其三,开放 PR 里 #55(asin 算子前端补丁)18:06 刷新,#56(FlagGems 算子迁移)停在 09-16,#54、#57、#59、#72、#75、#85、#46 均无窗口内动作——尤其 #85「softmax 及 matmul 优化」自 10-18 后没有更新,这条是性能主线,值得后续盯。
1.4 tilelang-riscv:主分支第十四日静默(10-29 状态)
日期:2026-10-29(状态) 来源:tilelang-riscv 提交列表、开放 PR 列表
主分支最后一笔提交仍是 10-16 10:52 的「Build Python extension in Buddy CI」,连续第十四日无提交。开放 PR 仍是两笔:#2 停在 06-16、#4「RVV vector mask and max reduction lowering」停在 09-28,均无窗口内更新。
与 triton-riscv 本期三笔合入形成直接对照:同一组织、同一时期,一条分支在集中清理降级缺陷,另一条完全没有动作。tilelang-riscv 目前唯一的下游存在感仍来自 openRuyi 的 python-tilelang-ruyiai 规格(#1350 四个补丁),即「以发行版产物代替仓库迭代」的状态已延续到第三周。
二、RuyiSDK 工具链与发行版
2.1 openRuyi:76 笔提交、10 笔合入,KDE Frameworks 6.31.0 一次铺 64 个包(10-29)
日期:2026-10-29 来源:PR #1513 KDE Frameworks 6.31.0、PR #1532 Gradio、PR #1533 pyvex、PR #1531 graphql-core、主仓提交列表
本期主仓 76 笔提交、10 笔 PR 合入,提交时间从 10-29 15:05 一直延续到 10-30 00:20,规模比上一期(27 笔)翻近三倍,原因很集中:KDE Frameworks 6.31.0 一次性升级铺了 64 个 kf6-* 包。这一整批在 15:11 的同一分钟落地(#1513),从 kf6-kcoreaddons、kf6-kconfig 到 kf6-kio、kf6-ksvg、kf6-kwallet,基本覆盖了 Plasma 6 依赖的框架全集。上一期这笔还标着 WIP、在审队列里,一天内翻成合入,说明桌面栈的版本跟随具备批量重建能力。
其余合入是常见的版本跟随与打包修正:Gradio 6.31.0 与其依赖(#1532,含 gradio-client 2.7.2、python-brotli 1.2.1)、python-pyvex 10.0.5(#1533)、python-graphql-core 的手工 provides 纪元版本修正(#1531)。这里没有 RuyiAI 栈的直接组件,但 python 侧的一批元数据修正对之后 triton/tilelang 的 wheel 构建路径仍是同一个基础——上一期的 scikit-build-core 与 cmake 元数据属于同一类工作。
值得一提的是时间分布:64 个 KDE 包集中在 15:11 一分钟、其余 12 笔散在 15:05 至次日 00:20,说明这批提交是脚本化批量更新加人工收尾,而不是逐包手工提交。
2.2 openRuyi 打包面:vkpeak 收录、cmake 模块路径修正、clang-wrap 日更(10-29)
日期:2026-10-29 来源:PR #1349 vkpeak、PR #1536 ecbuild、PR #1535 clang-wrap、PR #1537、PR #1538、PR #1539
新增包一笔:vkpeak(#1349,16:38 合入),一个 Vulkan 峰值性能与设备能力探测工具,对 RISC-V 板卡上的图形与算力摸底有用,属于「有硬件、缺测量工具」这一类补齐。打包基础设施三笔:ecbuild 的 cmake 模块改安装到 %{_libdir}(#1536),修正此前落到非标准路径的问题;clang-wrap 跟到 20261029(#1535),保持与上游同日的包装节奏;python-graphql-core 的 provides 纪元版本修正(#1531)。
另有三笔纯依赖图清理:#1537 删掉重复的 go-github-smartystreets-assertions 包,解决多选一冲突;#1538、#1539 给 go-golang-x-text、go-github-hexops-gotextdiff、go-github-magefile-mage 补缺失的 import path provides。这类问题不会让包装不上,但会在依赖求解时让 dnf 选出错误版本,属于发行版长期维护的隐性成本。
2.3 openRuyi 在审:#1350 首轮代码级复核 18 条,ollama 安全更新待合(10-29 状态)
日期:2026-10-29(状态) 来源:PR #1350 Ruyiai packages、PR #1514 ollama、PR #1490 交叉工具链、PR #1516 qemu-rustsbi
#1350(buddy-mlir、python-triton-ruyiai、python-tilelang-ruyiai 三件套)本期首次收到代码级复核:misaka00251 在 16:19 至 16:24 连发 5 条,全部指向 spec 写法而不是设计路线——BuildOption(xxx) 之间不必插空行;python-triton-ruyiai 缺 BuildRequires: python3dist(wheel)、Provides 与实际包名要对齐;Conflicts: python-%{srcname} 的必要性需要说明;补丁要用 git format-patch 生成,且同一目录里还有一份补丁未被引用;空 %check 要写注释说明原因。PR 规模随之涨到 10 个文件、+796/−0,复核评论总数 18 条,状态仍为 unstable、未合入。
把这一轮与前几轮并读,能看出争论的重心在移动:10-27 之前是「buddy-mlir 自带的 LLVM 要不要外置」(作者用 2.81 倍构建时间守住留在包内),本期转向 spec 的机械规范。这类意见通常出现在「方向已认可、准备收尾」的阶段,但也不排除只是例行核对——是否合入仍要看下一轮是否有人给 approve。
在审队列其余状态:#1514 把 ollama 升到 0.40.7 并标 security-fixes,10-30 02:04 刷新,+259/−3371(删掉 vendor 目录的量级),未合入;#1516 qemu-rustsbi 22:36 刷新;#1540 Prometheus v3.13 依赖修复批次 17:01 刷新;#1534 simdjson 5.0.8 与离线测试 16:27 刷新;#1490 交叉 riscv64 工具链仍标 WIP、停在 10-28,与已合入的工具链大版本宏形成「入口有了、工具链还没到」的状态。
2.4 ruyi-imager 1.1.0-rc.1 出包,ruyi 0.54.0 仍无 beta(10-29)
日期:2026-10-29 来源:ruyi-imager v1.1.0-rc.1、提交 839a8f56、ruyi Releases、ruyi 标签
16:02,ruyi-imager 发布 v1.1.0-rc.1,距 1.0.0(09-10)约七周。四条变更:镜像选择步骤加入下载动作(#12)、CLI 输出对齐终端字符集并让 JSON 保持 UTF-8(#14)、选择对话框双击即确认(#19)、选择对话框必须显式选择(#21)。四条都是可用性打磨,其中「双击确认」与「必须显式选择」是一对互补的交互约束,前者提速、后者防误选。发布说明还标注了一位首次贡献者(qingwan12138),四笔里有三笔来自同一人。同日 15:40 有一笔「Bump base version to 1.1.0」的提交,是出包前的版本位准备。
与此同时,包管理器 ruyi 的 0.54.0 仍无 beta:标签列表中 0.54.0-alpha.20260918 之后没有新标签,正式版最新仍是 09-24 的 0.53.0,主分支自 09-25 无提交。双周进展 079 期给的口径是「因发版周期调整改到 10 月底」,本窗口已是 10 月倒数第二天,仍无候选版本——按 6-30、7-23、8-27、9-24 的月度节奏,本期是最后一次可以兑现「10 月底」说法的窗口。
2.5 ruyi 主仓:厂商命名清单更新,ABI 探测提案补录(10-29 / 10-28)
日期:2026-10-29 来源:PR #508 厂商命名清单、PR #507 ABI 探测
#508「docs: update vendor naming list」在 16:13 刷新,属文档侧改动,与 ruyi-imager 本期把界面「制造商」改「供应商」是同一件事的两端——安装器改了措辞,文档侧的厂商命名清单跟着对齐,避免两处叫法不一致。
补录一笔上期漏收的提案:#507 在 10-28 17:15 提交,给 ruyi 加「探测给定软件包的主机 ABI 兼容性」的能力,规模 43 个文件、+4023/−716,是本月 ruyi 主仓最大的一笔。做法是以包内 ELF ABI sidecar 为查询计划,比对架构、ELF class、解释器、共享库、符号版本、未版本化符号与架构属性,结果分兼容、不兼容、无法判定三态,并新增 ruyi admin check-abi 子命令;库解析刻意不加载候选库、不依赖 Ruyi 进程的 LD_LIBRARY_PATH。它把「预编译 RISC-V 包能不能装在这台机器上」从试错变成可解释检查——对以二进制分发为主的 RuyiSDK 生态,这条链路的价值高于任何单个包的版本更新。目前仍未合入。
三、向量扩展、架构测试与算子优化
3.1 向量四仓继续静默,基准侧缺口仍在(10-29 状态)
日期:2026-10-29(状态) 来源:VecIntrinBench、IntrinTrans、FBGEMM、cpuinfo
四个向量相关仓库窗口内全部零提交,静默时长未变:VecIntrinBench 停在 02-13、cpuinfo 停在 05-20、IntrinTrans 停在 06-25、FBGEMM 停在 07-13。torq-tile 停在 04-09、dsh-osc 停在 09-15、pytorch-ci 无提交记录、harness 停在 10-27。
本期最需要这个基准的地方恰好出现了:三笔 triton-riscv 修复都是用「lit 通过数 + 运行时用例通过数」来验证的,没有一处给出向量化质量的可比数字(指令条数、占用的 LMUL、寄存器溢出次数)。上一期 #1014 已经出现「同一份代码两次构建差 2%」的噪声,靠板上吞吐做结论本就吃紧;如果 VecIntrinBench 一侧继续不动,后续「优化是否真的提升」会长期只能靠人肉对账。这不是本期新增的问题,但三笔合入把它照得更清楚。
3.2 FlagGems 迁移成了 triton-riscv 的缺陷发现机制(10-29)
日期:2026-10-29 来源:PR #83、PR #58、PR #82、PR #56 FlagGems 迁移
把三笔修复的动机摊开看,会发现它们的共同来源不是测试套件,而是「把 PyTorch 算子一批一批搬上 triton-riscv」这件事本身:unique_dim 带真张量填充值的 tl.load、broadcast_to 的循环携带偏移、散列算子的重复索引比对,三者都不在 RISC-V 指令层面,而落在降级层与验证层的边界上。这类缺陷在单元测试里很难自然长出来——得有一个真实算子库、按批量方式往上压,才暴露得出来。
这件事的方法论价值高于三笔修复本身:对一条以 Triton 为入口的 RISC-V AI 栈来说,FlagGems 迁移实际上充当了「端到端验收集」,比编译器的 lit 套件更接近真实负载。反过来说,本期也暴露了这个机制的单点依赖——迁移 PR #56 从 09-16 起就没有更新,三笔修复合入后验收流程反而停住了。若 #56 长期不推进,这套「缺陷发现机制」会跟着失效,下一批缺陷要等到别的使用者撞上才会被发现。
3.3 arXiv 窗口内无新增,10-27 两篇为最新(10-29 状态)
日期:2026-10-29(状态) 来源:arXiv 检索
以 RISC-V 加编译器、向量、MLIR 为条件的检索,窗口内无新论文。检索到的最新两篇都是 10-27:SecDMP: Provably Secure Data Memory-Dependent Prefetching(数据访存相关预取的可证明安全方案)与 A lightweight C Code Generator for Heterogeneous TinyML Systems(面向异构 TinyML 的轻量 C 代码生成器)。前者与微架构侧的安全预取有关,后者属端侧代码生成,都不直接落在 AI 栈的编译路径上。
与本期主线最贴的仍是 10-21 的 Reorienting the Vector Axis: Restructuring FlashAttention for Long-Vector Processors——长向量处理器上的 FlashAttention 重构,与 10-28 把解码注意力按 64 lanes 分段、单头一个 LMUL 4 组的做法属同一类问题;窗口内没有后续。
四、Buddy Compiler 动态
4.1 buddy-server 新 ABI 合入:56 个文件、模型插件体系改为统一接口(10-29)
日期:2026-10-29 来源:PR #1015、提交 7d2ce844、RAX 打包与加载分析文档
15:08,#1015「Buddy-server new ABI」合入,56 个文件、+3934/−1661,是本期整个栈里改动面最大的一笔。PR 描述只有一句意图:更新 buddy-server 解析 RAX 文件时用的 ABI 接口,新接口为将来支持更多模型提供便利;实际改动远大于此。
结构上是把「按模态各写一套插件句柄」换成「一套统一接口」。新增四个运行时头文件:ServerModelABI.h(392 行)、ServerModelABIConversion.h(179 行)、ServerModelPluginAdapters.h(742 行)、ModelError.h(57 行);同时删除原来按模态拆分的 AudioTranscriptionModelPluginHandle、EmbeddingModelPluginHandle、MaskedLMModelPluginHandle、ResidentModelPluginHandle 四组实现与 ModelPluginDiscovery,换成一个 350 行的 ServerModelPluginHandle 加 102 行头文件,并由适配层把各模态的旧入口接回新 ABI。BuddyServerApp.cpp 单文件改了 +446/−225,SimpleHttpServer 补了 25 行(与请求解析、错误回传相关)。
模型侧同步改写了七个目录:bge_m3(嵌入)、deepseek_r1、llama31_tt、proteinglm(掩码语言模型)、qwen3_vl(视觉语言)、whisper(音频转写)的 Model 与 Plugin 成对调整,每对都是「C++ 侧少写、公共侧多写」的形态——这与上一期 #1010 的源码重组是同一条线:先把目录按职责分开,再把接口收敛成一层。
测试侧是本笔最值得关注的部分:新增 ServerModelPluginHandleTest.cpp(325 行)、BuddyServerAbiErrorIntegrationTest.py(184 行)、BuddyServerCapabilityIntegrationTest.py(135 行)、ServerModelConcurrencyFakePlugin.cpp(162 行)、ServerModelDependencyPlugin.cpp(38 行)与 ServerModelErrorFakePlugin.cpp(149 行),并删除四组按模态写的单元测试(合计约 226 行)。也就是说,测试的重心从「每种模态各测一遍」转到「统一 ABI 的错误、能力、并发、依赖四类行为」,覆盖面反而更宽。文档侧 RAXPackagingAndLoadingAnalysis.md 与 Runtime.md 一并更新。
需要克制的一点:这是一笔接口重构,PR 里没有给出性能数据,也没有新增模型的支持证明;「为支持更多模型提供便利」要等下一个按新 ABI 接入的模型才算兑现。
4.2 夜间版 dev20261029 早于 #1015 出包,下游要等下一版(10-29)
日期:2026-10-29 来源:夜间版 dev20261029、Releases 列表、triton-riscv PR #91
夜间版 v0.1.3.dev20261029 在 08:21 发布,比 #1015 的合入时间(15:08)早近七小时,因此这一版不含新 ABI。要拿到 #1015,需要等 dev20261030 出包,再由 triton-riscv 的 renovate 抬一次锚点(#91 目前锚在 dev20261029,仍开放)。
这条时间账值得单独记,因为它是这条栈的固定延迟结构:buddy-mlir 合入 → 次日夜间构建 → renovate 提出依赖更新 → triton-riscv 合入。三跳加起来通常一到两天。0.1.3 线已连续五个夜间版没有正式版,最近正式版仍是 10-25 的 0.1.2;#1015 这种规模的接口变更若要走正式版本,还得再等一轮。
4.3 在审三笔停在 10-28,Whisper 与接口对齐均未动(10-29 状态)
日期:2026-10-29(状态) 来源:PR #1011、PR #1013、PR #994、开放 PR 列表
#1015 合入后,原来「在审四笔」只剩三笔:#1011(可伸缩 VIR 片段计数强制转 int64)、#1013(Whisper 单次转写内复用预处理)、#994(buddy-server 接口向 llama-server 对齐)。三笔最后更新时间都是 10-28 16:01 至 16:01 之间,窗口内无新动作。
其中 #1011 的处境有点微妙:上一期 #1012 的 x64 CI 绿灯是在它之上取得的,而它至今未合入;#1015 又已经改掉了 buddy-server 的插件接口,#994 那笔「对齐 llama-server」的接口方向是否会与新 ABI 冲突,PR 里没有讨论。开放列表里另有 #993(tile.upsample_nearest 识别)、#1001 与 #997(K3 A100 上 Qwen3-0.6B 与 DeepSeek-R1-Distill-Qwen-1.5B 的 prefill/decode 优化)、#995(非末轴 Cumsum 连续遍历)、#992(bn 通道广播修正)、#938、#932、#928、#924、#838,均无窗口内更新。
五、社区与活动与官方主页
5.1 官方主页三页无变化,博客两篇、文档二十三章(10-29 状态)
日期:2026-10-29(状态) 来源:RuyiAI 官方主页、博客、文档
首页、博客、文档三页的 sha256 与上一期一致:首页索引 3 条、博客 2 篇(Triton 的 RISC-V 适配、PyTorch RISC-V CI 实践)、文档 23 章。已连续多个窗口没有新增博文与章节。
与工程侧的落差继续存在。本期可写成技术博文的素材不少:三笔降级修复背后的「非均匀语义」问题、buddy-server 统一 ABI 的重构思路、ruyi-imager 1.1 的交互改造——都停留在 PR 描述与仓库文档里。对外呈现这条栈的入口仍只有两篇 9 月的文章,这与「每日有提交、每周有合入」的节奏不匹配。
5.2 论坛两帖:RuyiAI 峰会回顾与香山如意生态大会转载(10-29)
日期:2026-10-29 来源:RuyiAI 峰会回顾 #2899、香山如意生态大会转载 #2898、RuyiSDK 开发者社区
论坛本期两帖,都在 10-29 发布。RuyiAI 分类下的 #2899「RuyiAI 亮相第六届 RISC-V 中国峰会,分享从 RVV 到 Matrix 的 AI 系统软件栈实践」回顾 10-18 至 10-20 的深圳峰会:团队通过 Tutorial 专题分享、海报展示与展台交流介绍栈的架构与参与途径,并参加同期 AME 技术研讨会与 10-21 的 RISC-V 香港日,主题围绕矩阵扩展与软件支撑。帖子正文很薄,实质内容外链到公众号文章。
新闻八卦分类下的 #2898 转入一篇峰会报道:10-20 的香山如意开源生态论坛下午场集中发布「面向智能体时代」的 RISC-V 软硬件全栈成果,覆盖服务器级芯片、AI 原生软件栈、处理器多线程架构、AI-CPU 敏捷开发套件、内存一致性优化与 EDA 验证工具适配。对 RuyiAI 而言,这条给出的是生态位坐标——「AI 原生软件栈」是同一个论坛里被并置发布的成果之一,与服务器芯片、多线程架构属同一批叙事。
5.3 ruyiai-daily 一期,情报口径覆盖 PyTorch、LLVM、Triton 与 RISC-V(10-29)
日期:2026-10-29 来源:ruyiai-daily 提交列表、daily-news 2026-10-29
ruyiai-daily 在 10-29 06:42(北京时间)提交一期 daily-news-2026-10-29.md,延续按日归档。本期的口径覆盖 PyTorch 生态、LLVM/MLIR、Triton 与 TileLang、RISC-V 软件栈与产品、AI 模型与产业五个方向,其中与本仓直接相关的三条:PyTorch 2.15 发布(重写 NCCL 成默认、MPS 扩 FP8)、Buddy 的 K3 VIR 解码注意力(即 10-28 的 #1014)、以及 ruyi 的宿主 ABI 探测提案(即 #507)。这份情报的检索窗口是 10-28 05:14 至 10-29 06:00,与日报窗口存在数小时错位,引用时需按条目自身日期标注。
5.4 外部新闻零命中,openRuyi 2026.10 与 0.54.0 均未发(10-29 状态)
日期:2026-10-29(状态) 来源:Google News RSS、openRuyi 发行版新闻页、openRuyi 标签
Google News 对 RuyiSDK、RuyiAI、openRuyi 与如意社区的中英文定向查询(when:3d)在窗口内均零命中;RISC-V 主题的候选清单里也没有与如意社区相关的条目,本期不收录外部新闻。
发行版侧两个版本仍在窗口外。openRuyi 新闻页最新一篇仍是 2026.09 发布公告,仓库标签止于 2026.09-experimental,2026.10 未发;ruyi 的 0.54.0 只有 09-18 的 alpha 标签。若按前几个月的月末节奏,接下来两三天是 2026.10 与 0.54.0 的发布窗口,下一期需要盯这两处。
六、趋势观察
6.1 修复先于验收:三笔修复靠迁移过程中攒下的问题单,不靠回归测试
本期三笔合入暴露了一个顺序问题:先有修复,后有验收。unique_dim 的张量填充、broadcast_to 的循环偏移、散列算子的重复索引,三处缺陷都不是编译器自己的测试发现的,而是把 FlagGems 算子往上搬时撞出来的;修复合入了,需要它们的迁移 PR #56 却停在 09-16 未动。结果是一批「为某个用法准备的修复」暂时没有对应的用法在跑。
这种状态的风险不在当下而在下个月:如果 #56 恢复时 Triton 上游又换了几轮,三笔修复是否还与新基线兼容,需要重新验证一遍;而如果 #56 一直不恢复,这套「端到端验收集」就等于停摆,下一批缺陷要等外部使用者撞上。对一个以「能跑真实模型」为目标的栈来说,把迁移做成常驻回归(哪怕只有几十个算子、每晚跑一次)比再多合几笔修复更有价值。
6.2 分支治理的两种写法:llvm 写规则并取消预演,pytorch 靠整枝重放
同一天里,两条分支给出了两种治理答案。llvm 的 riscv 分支整枝重放了一遍,真正新增的是一份贡献指南:把「往 riscv 送代码」拆成「向维护者工作分支提 PR」与「直接向 riscv 提 PR 并手动触发重基」两条路,同时把工作流的预演开关删掉——成功即推送,没有预览。pytorch 的 riscv 分支则只是重放到上游 3afdbd3,再让同步机器人补一笔依赖缓存修正,没有任何流程文档。
两者的成本结构不同。llvm 分支的补丁集大、外部贡献多,冲突与历史漂移是主要成本,所以规则化值得写文档、值得配工作流;pytorch 分支的补丁集小(11 笔),维护者自己重放一次的成本低于维护流程的成本。取消预演这一点则需要观察:把摩擦降下来的同时把「推送错历史」的风险前移给贡献者,靠 --force-with-lease 与状态复检兜底,实际效果要看下一两个外部 PR。
6.3 发行版按月铺量,栈级三件套按月卡审
openRuyi 本期 76 笔提交、10 笔合入,其中 64 笔是一批 KDE 框架升级;ruyi-imager 从 1.0.0 到 1.1.0-rc.1 用了七周,节奏正常;而同属「分发」的另一侧,RuyiAI 三件套的打包 PR #1350 从 09-21 开到现在,仍在 spec 规范层面返工。两条流水线的差别不在人手,而在成熟度:KDE 包有上游 spec 可参照、有既定的版本节奏,重打包是机械动作;三件套是从零写的 spec,既要解释「为什么把 LLVM 留在包内」,又要解释「为什么 %check 为空」。
这对 RuyiAI 的启示是:能被发行版吞下的前提是包本身足够「常规」。buddy-mlir 自带 LLVM、triton 依赖 git 可执行、tilelang 需要发现 buddy-mlir 工具链——三处非常规点各自都需要补丁与解释,每个解释都要维护者花时间判断。若希望三件套进入月度发行节奏,把这三处非常规点收敛成一两条明确的打包约定(例如统一由 buddy-mlir 提供工具链、统一用 git format-patch 的补丁堆叠),比逐条回应复核意见更省事。
信源核查表
| 信源 | 核查结果 |
|---|---|
| RuyiAI-Stack 组织(全仓) | pytorch:riscv 分支整枝重放 11 笔、SyncBots 抬到上游 3afdbd3,主分支 20 笔全为上游;llvm-project:riscv 分支 25 笔重放、新增贡献指南(faf4def312,+82/−8),主分支 20 笔为上游;triton-riscv:3 笔合入(#58、#83、#82)、3 笔夜间标签刷新、1 笔依赖 PR 开放(#91);tilelang-riscv 第十四日静默;ruyiai-daily 一期;harness、FBGEMM、cpuinfo、VecIntrinBench、IntrinTrans、torq-tile、pytorch-ci、dsh-osc、skills、SyncBots-DeepAgents、caffe、mxnet 无窗口内提交 |
| ruyisdk 组织(全仓) | ruyi-imager:1 笔提交(版本位 1.1.0)+ v1.1.0-rc.1 预发布;ruyi 主仓:1 笔开放 PR 刷新(#508 厂商命名清单),无提交、无新 Release(0.53.0 维持,0.54.0 仅 alpha 标签);packages-index、support-matrix、docs、ruyisdk-website、wechat-articles、attached-matrix-extension、ruyici、AME-operator 无窗口内提交 |
| openRuyi-Project 组织 | openRuyi 主仓 76 笔提交(KDE Frameworks 6.31.0 批 64 笔,其余 12 笔为 vkpeak、ecbuild、clang-wrap、Gradio、pyvex、graphql-core 与 go 包修正)+ 10 笔 PR 合入;开放 PR 15 笔有更新(含 #1350 首轮代码级复核 18 条、#1514 ollama 安全更新);标签止于 2026.09-experimental,2026.10 未发 |
| buddy-compiler 组织 | buddy-mlir 1 笔合入(#1015 新 ABI,56 文件 +3934/−1661)+ 夜间版 v0.1.3.dev20261029;开放 PR 三笔停在 10-28(#1011、#1013、#994),另有 #992、#993、#995、#997、#1001、#924、#928、#932、#838 无窗口内更新;buddy-benchmark、buddy-examples、compiler-eval、FeGen、gemmini、firesim 无窗口内提交 |
| RuyiSDK 开发者社区论坛 | 窗口内两帖:#2899「RuyiAI 亮相第六届 RISC-V 中国峰会」(10-29,RuyiAI 分类)、#2898「香山如意生态大会:面向智能体时代 RISC-V 软硬件全栈成果发布」(10-29,转载);双周进展 080 期未出 |
| openRuyi 发行版新闻页 | 无新文,2026.09 发布公告仍为最新;仓库标签止于 2026.09-experimental,2026.10 未发布 |
| ruyi 包管理器 / Releases | 0.53.0 维持,无新 alpha 或 beta(0.54.0-alpha.20260918 仍为最近一版);主分支自 09-25 无提交 |
| ruyi-imager / Releases | v1.1.0-rc.1 于 10-29 16:02 发布(预发布),含四条交互与 CLI 改动 |
| 官方主页(ruyiai.org) | 三页无变化:首页索引 3 条、博客 2 篇、文档 23 章,sha256 与上一期一致 |
| arXiv(RISC-V) | 窗口内无新增;最新为 10-27 的 SecDMP 与 TinyML C 代码生成器,10-21 的长向量 FlashAttention 仍最贴 RVV |
| Google News RSS(中英文多组) | RuyiSDK、RuyiAI、openRuyi、如意社区定向查询零命中;RISC-V 主题候选中的 Qwenputer、Ruyi 无关条目均未收录 |
完整信源清单
- [1] pytorch riscv 分支提交列表 — https://github.com/RuyiAI-Stack/pytorch/commits/riscv
- [2] pytorch SyncBots 提交 5a29c201 — https://github.com/RuyiAI-Stack/pytorch/commit/5a29c201b1
- [3] pytorch PR #51 riscv64 本地镜像 — https://github.com/RuyiAI-Stack/pytorch/pull/51
- [4] pytorch PR #44 bytes_to_scalar 修正 — https://github.com/RuyiAI-Stack/pytorch/pull/44
- [5] pytorch 开放 PR 列表 — https://github.com/RuyiAI-Stack/pytorch/pulls
- [6] llvm-project riscv 分支提交列表 — https://github.com/RuyiAI-Stack/llvm-project/commits/riscv
- [7] llvm-project 提交 faf4def312(贡献选项文档) — https://github.com/RuyiAI-Stack/llvm-project/commit/faf4def312
- [8] RISCV_CONTRIBUTING.md — https://github.com/RuyiAI-Stack/llvm-project/blob/riscv/RISCV_CONTRIBUTING.md
- [9] llvm-project 重基工作流 autorebase.yml — https://github.com/RuyiAI-Stack/llvm-project/blob/riscv/.github/workflows/autorebase.yml
- [10] triton-riscv PR #58 循环携带 gather 偏移 — https://github.com/RuyiAI-Stack/triton-riscv/pull/58
- [11] triton-riscv PR #83 掩码加载张量填充 — https://github.com/RuyiAI-Stack/triton-riscv/pull/83
- [12] triton-riscv PR #82 散列测试修正 — https://github.com/RuyiAI-Stack/triton-riscv/pull/82
- [13] triton-riscv PR #91 依赖更新 — https://github.com/RuyiAI-Stack/triton-riscv/pull/91
- [14] triton-riscv PR #56 FlagGems 算子迁移 — https://github.com/RuyiAI-Stack/triton-riscv/pull/56
- [15] triton-riscv 开放 PR 列表 — https://github.com/RuyiAI-Stack/triton-riscv/pulls
- [16] tilelang-riscv 提交列表 — https://github.com/RuyiAI-Stack/tilelang-riscv/commits/main
- [17] openRuyi PR #1513 KDE Frameworks 6.31.0 — https://github.com/openRuyi-Project/openRuyi/pull/1513
- [18] openRuyi PR #1532 Gradio 6.31.0 — https://github.com/openRuyi-Project/openRuyi/pull/1532
- [19] openRuyi PR #1533 python-pyvex 10.0.5 — https://github.com/openRuyi-Project/openRuyi/pull/1533
- [20] openRuyi PR #1531 graphql-core provides 修正 — https://github.com/openRuyi-Project/openRuyi/pull/1531
- [21] openRuyi PR #1349 新增 vkpeak — https://github.com/openRuyi-Project/openRuyi/pull/1349
- [22] openRuyi PR #1536 ecbuild 模块路径 — https://github.com/openRuyi-Project/openRuyi/pull/1536
- [23] openRuyi PR #1535 clang-wrap 更新 — https://github.com/openRuyi-Project/openRuyi/pull/1535
- [24] openRuyi PR #1537 删除重复 go 包 — https://github.com/openRuyi-Project/openRuyi/pull/1537
- [25] openRuyi PR #1538 / #1539 go 包 provides — https://github.com/openRuyi-Project/openRuyi/pull/1538
- [26] openRuyi PR #1350 Ruyiai packages — https://github.com/openRuyi-Project/openRuyi/pull/1350
- [27] openRuyi PR #1352 python-torch-ruyiai — https://github.com/openRuyi-Project/openRuyi/pull/1352
- [28] openRuyi PR #1514 ollama 0.40.7 — https://github.com/openRuyi-Project/openRuyi/pull/1514
- [29] openRuyi PR #1490 交叉 riscv64 工具链 — https://github.com/openRuyi-Project/openRuyi/pull/1490
- [30] openRuyi PR #1516 qemu-rustsbi — https://github.com/openRuyi-Project/openRuyi/pull/1516
- [31] openRuyi 主仓提交列表 — https://github.com/openRuyi-Project/openRuyi/commits/main
- [32] openRuyi 仓库标签 — https://github.com/openRuyi-Project/openRuyi/tags
- [33] ruyi-imager v1.1.0-rc.1 — https://github.com/ruyisdk/ruyi-imager/releases/tag/v1.1.0-rc.1
- [34] ruyi-imager 提交 839a8f56 — https://github.com/ruyisdk/ruyi-imager/commit/839a8f56de
- [35] ruyi 包管理器 Releases — https://github.com/ruyisdk/ruyi/releases
- [36] ruyi 标签列表 — https://github.com/ruyisdk/ruyi/tags
- [37] ruyi PR #508 厂商命名清单 — https://github.com/ruyisdk/ruyi/pull/508
- [38] ruyi PR #507 主机 ABI 兼容性探测 — https://github.com/ruyisdk/ruyi/pull/507
- [39] ruyisdk/packages-index 提交列表 — https://github.com/ruyisdk/packages-index/commits/main
- [40] ruyisdk/support-matrix 提交列表 — https://github.com/ruyisdk/support-matrix/commits/main
- [41] buddy-mlir PR #1015 buddy-server 新 ABI — https://github.com/buddy-compiler/buddy-mlir/pull/1015
- [42] buddy-mlir 提交 7d2ce844 — https://github.com/buddy-compiler/buddy-mlir/commit/7d2ce8442b
- [43] buddy-mlir PR #1011 片段计数 int64 — https://github.com/buddy-compiler/buddy-mlir/pull/1011
- [44] buddy-mlir PR #1013 Whisper 预处理复用 — https://github.com/buddy-compiler/buddy-mlir/pull/1013
- [45] buddy-mlir PR #994 对齐 llama-server 接口 — https://github.com/buddy-compiler/buddy-mlir/pull/994
- [46] buddy-mlir 夜间版 v0.1.3.dev20261029 — https://github.com/buddy-compiler/buddy-mlir/releases/tag/nightly%2Fv0.1.3.dev20261029
- [47] buddy-mlir RAX 打包与加载分析文档 — https://github.com/buddy-compiler/buddy-mlir/blob/main/docs/RAXPackagingAndLoadingAnalysis.md
- [48] RuyiAI 官方主页 — https://www.ruyiai.org/
- [49] RuyiAI 博客 — https://www.ruyiai.org/blog.html
- [50] RuyiAI 文档 — https://www.ruyiai.org/docs.html
- [51] RuyiSDK 开发者社区 — https://ruyisdk.cn/
- [52] 论坛帖 RuyiAI 峰会回顾 #2899 — https://ruyisdk.cn/t/topic/2899
- [53] 论坛帖 香山如意生态大会 #2898 — https://ruyisdk.cn/t/topic/2898
- [54] ruyiai-daily 提交列表 — https://github.com/RuyiAI-Stack/ruyiai-daily/commits/main
- [55] ruyiai-daily 2026-10-29 情报 — https://github.com/RuyiAI-Stack/ruyiai-daily/blob/main/daily-news-2026-10-29.md
- [56] openRuyi 发行版新闻页 — https://openruyi.cn/zh-Hans/news/
- [57] arXiv SecDMP(10-27) — http://arxiv.org/abs/2610.37454
- [58] arXiv TinyML C 代码生成器(10-27) — http://arxiv.org/abs/2610.36907
- [59] arXiv 长向量 FlashAttention 重构(10-21) — http://arxiv.org/abs/2610.29489