RuyiAI周报(2026-11-02 ~ 2026-11-06)
报告周期:2026 年 11 月 2 日(周一)至 11 月 6 日(周五),共 5 个工作日。
素材来源:本刊每日 RuyiAI 动态报告 5 期(2026-11-02 至 2026-11-06,每期窗口为前一日 04:30 至当日 04:30,其中周一为过去 3 天、覆盖周末);另含 RuyiAI-Stack、ruyisdk、buddy-compiler 三个组织的 168 小时仓库核查,openRuyi-Project 主仓逐笔提交的全量分页复核,RuyiSDK 开发者社区与 openRuyi 发行版新闻页双源复核,以及 RuyiAI 官方主页三页快照(核查覆盖至 11-07 下午)。
编制说明:本周是本季度结构变化最集中的一周,三条主线同时收口。其一,分发链路的最后一公里被打通——拖了 43 天的 openRuyi #1350 在 11-03 合入,buddy-mlir、triton、tilelang 三件套第一次以 RPM spec 的形式进入发行版。其二,triton-riscv 用一天时间把自己从「维护一份打了补丁的 Triton 分支」改成「上游 Triton 的一个插件」,净删两千余行、补丁目录整个消失。其三,AME/BOSCAME 矩阵后端一周内落两笔:LLVM 侧补寄存器归类与 tile 调度,buddy-mlir 侧一次提交 209 个文件、四万余行,把 Kernel Contract、SPM/DMA 规划器、运行时与 FPGA 工具一起铺开。发版侧则是另一半事实:ruyi 在 39 天断档后出了 beta,正式版与 openRuyi 2026.10 月度版到本周末仍未落地。周报在日报素材之外补入五项核查新发现(多在日报窗口之后或周期边界),列于附录。
一、本周要闻
-
openRuyi #1350 合入,RuyiAI 三件套七周后进入发行版打包:11-03 15:59,这笔开于 09-21 17:55 的 PR 合入,复核走了 43 天,最终三笔提交、十个文件、838 行新增,把 buddy-mlir(0.1.2,源码锚
60f354a7,自带 pin 住的 LLVM 快照3845a205)、python-triton-ruyiai(3.8.0+git20261103.da5291b)、python-tilelang-ruyiai(0+git20261028.0b7d66e)三份 spec 收进 SPECS 目录。三件套共用一条 LLVM/MLIR 链:buddy-mlir 自带 LLVM 构建并装到/usr/lib64/buddy-mlir/llvm,triton 与 tilelang 依赖buddy-mlir-llvm包。同日 20:16 的 #1575 又修了Source0/Source1的源地址写法,说明这条链仍脆但已能跑通合并流程。来源:PR #1350、PR #1575、buddy-mlir.spec -
triton-riscv 合入 Triton 3.9.0 插件化改造:补丁集清零,独立发行包退场:11-05 11:13,PR #98 合入,5 笔提交、66 个文件、新增 1806 行、删除 3868 行,删除量约为新增量两倍。后端改为按
TRITON_PLUGIN_DIRS机制装成 triton_shared 插件,注册入口点、把 C++ 插件链进libtriton.so;patches/目录与施加补丁的脚本全部删除;release.sh不再组装第二个 wheel,Makefile成为 setup/build/test/lit/clean 的统一入口。同一天,上一期还在并行的 #92(重基到官方 Triton v3.8.0)以未合并关闭,两条路线之争收敛到跟进主线。来源:PR #98、PR #92 -
AME/BOSCAME 后端一周落两笔:LLVM 补寄存器与调度,buddy-mlir 铺 209 个文件:11-04 15:40,RuyiAI-Stack/llvm-project 的 riscv 分支新增
f346011(8 个文件、+412/−1),把nxv32i32同时注册进 AccReg,消掉每条循环边上 tile 与 accumulator 两个寄存器堆之间的复制,并把每份 tile 配置与其消费者保持在一条有序伪指令里、直到 emit 前才展开。11-06 15:39,buddy-mlir 合入 #1033(209 个文件、+46131/−2305),一次性加入与目标无关的 Kernel Contract(标注与校验)、把 bufferized Linalg 降到bosc_ameSPM/DMA/tile IR 的规划器与 emitter、runtime/boscame裸机运行时与examples/BOSCAMEFPGA板上工具。这是「从 RVV 到 Matrix」叙事在编译器侧第一次落到可跑的端到端路径。来源:提交 f346011、PR #1033、PR #35 -
ruyi 0.54.0-beta.20261102 出包,39 天断档后第一跳;ABI 兼容性从「扫包」走到「判主机」:11-02 18:37 发布,标签提交落在 15:16,PyPI 同步
0.54.0b20261102。发布说明列了十三笔 PR,但比较基准写的是 0.52.0-alpha.20260714,真按 0.53.0 对差净新增只有四笔(#503、#508、#507、#509)。核心是 #507:新增ruyi admin check-abi,对给定包做主机 ABI 探测与兼容性判定,给出兼容、不兼容、未判定三态,区分宽松与严格两套谓词,ruyi list显示备注、ruyi install在不兼容时告警;RISC-V 侧另处理了 ld.so.cache 浮点 ABI 过滤、带版本号的单字母扩展解析、栈对齐与弱符号边界。补丁 +5760/−834、64 个文件。来源:0.54.0-beta.20261102、PR #507 -
tilelang-riscv 十八天静默被打破,PR #5 合入 TileOps streaming load 与量化路径:11-03 13:44 开出、14:13 合并,间隔 29 分钟,21 个文件、+669/−112。核心改动在
src/target/codegen_riscv.cc(+157/−1),为原始 TileOps 算子补上 streaming load 的降级辅助与 FP32 的__fdividef处理;测试面同时铺开,新增 streaming load 字节保真、IEEE 算术回归与 INT8 量化三份测试,operator_inventory.py亦做增删。文档侧重写BuildOnSG2044.md,并把tladapter/toolchain.py里机器相关的路径清掉、改为从发行版布局查找——与同日 openRuyi 打包补丁的方向一致。来源:PR #5、合并提交 57c548c -
上游编译器与运行时四条线同日有账:OpenJDK JEP 544 AOT 移植入主线,GCC 三笔 Zb* 优化进开发主线:080 期记录,JEP 544(Ahead-of-Time Code Compilation)在 RISC-V 平台的移植功能测试通过、性能收益符合预期,已合入 JDK 主线(PR #32311,8390102 Support AOT Code Cache);同期审阅并合入主线九笔,含 C1 启用高位通用寄存器、用 Zbc 实现 CRC32C intrinsic、C2 指针常量改用
movptr2。GCC 侧三项 RISC-V 后端优化于 10-27 进入开发主线(r17-5638 至 r17-5640):Zba 完善移位加法与整数除法的组合识别、Zbs 利用bclr的移位索引语义消掉多余掩码、Zbkb 修正packh的成本模型与匹配优先级。LLVM 侧六笔 P-ext 与 XTHeadBb 上游 PR 合入,RuyiSDK 的 LLVM 分支另按 Ztt 规范 v0.6 初步支持 RV32/RV64 矩阵扩展。来源:080 期文稿、JEP 544、JDK PR #32311 -
Buddy Compiler 的 VIR 语义收紧:
set_vl分成「精确 VLEN」与「任意 VLEN」两条路径:11-04 23:54 合入 #1028,让rvv-vlen表示目标的精确 VLEN(vscale = rvv-vlen / 64),切分按完整向量做;此前rvv-vlen被当成最小 VLEN,掩码全部为真却仍留在代码里,K3 上按 1024 位向量宽度构建的内核正是这一路径的典型场景。11-05 01:32 合入 #1029,处理不给rvv-vlen的通用构建:strip-mined 区域按 N 乘 vscale 在运行时步进、向量按最小 128 位定尺寸、带结果的set_vl直接拒绝并报「需要精确 VLEN」。语义不再靠「掩码碰巧全真」兜底。来源:PR #1028、PR #1029 -
发版侧的另一半事实:openRuyi 2026.10 整月缺位,ruyi 0.54 定档 11 月 11 日前后:openRuyi 新闻页最新发版公告仍是 09-30 的 2026.09,10 月与 11 月的发版路径到 11-07 核查时均返回 404;前四个月的发版日是 6-30、7-23、8-27、9-30,没有整月缺版的先例。080 期给出包管理器的明确时间点:RuyiSDK 0.54 将于 11 月 11 日前后发布,包管理器版本同为 0.54.0,首要看点是软件包与当前系统的 ABI 兼容性检测,首发支持 glibc 或 musl 的任意 Linux 发行版。开发侧并未停滞——openRuyi 主仓本周 156 笔提交,卡点在发版流程本身。来源:openRuyi 新闻页、080 期文稿、ruyi Releases
二、RuyiAI 栈进展(PyTorch / Triton / TileLang RISC-V 适配)
窗口总览:RuyiAI-Stack 组织(18 个仓库)本周的动作几乎全部集中在 triton-riscv 与 llvm-project 两个仓:triton-riscv 九笔提交、四笔 PR 合入(#98、#99、#100、#101)、四笔夜间版;llvm-project 的 riscv 分支两轮整枝重放后落一笔 BOSCAME 后端提交;tilelang-riscv 在第十八日静默后合入 PR #5;pytorch 的 riscv 分支三次重放、零功能增量;VecIntrinBench、IntrinTrans、FBGEMM、cpuinfo、harness、torq-tile、pytorch-ci、dsh-osc 全周零提交。
llvm-project riscv 分支:两轮重放后落一笔 BOSCAME 提交(11-01 至 11-04)
日期:2026-11-01 至 2026-11-04 来源:riscv 分支提交列表、提交 f346011、PR #35
周期起点前夜(11-01 23:00)与周期首日夜间(11-02 23:00),分支各做了一次整枝重放:前者把二十六笔分支自有提交的提交时间统一改写到 23:00:22 至 23:00:26,头提交 afdd0982(内容是 10-29 的「取消预演、新增贡献指南」);后者再重放一次,头提交换成 375bf3e4,内容不变。11-03 11:57 落一笔 bef335e2「[workflows] Use workflow-scoped token for PR rebases」,把重基工作流的令牌从仓库级换成工作流级,属自动化维护。
11-04 15:40 的 f346011 是本周唯一一笔真正的编译器改动(8 个文件、+412/−1,作者 caihanyi111)。它分两块:其一是寄存器归类,循环携带的累加器 PHI 从类型表取默认寄存器类,而 nxv32i32 原先只注册为 TileReg,累加指令 mlce32.m、mqma.*、msce32.m 的累加器操作数与结果都限定在 AccReg,于是每条循环边都要在 tile 与 accumulator 两个寄存器堆之间生成一次复制,而 copyPhysReg 无法把这种跨堆复制展开成单条 AME 指令;修法是给 nxv32i32 同时注册 AccReg,同堆的整寄存器复制改用 mmve64.t.t 与 mmve64.a.a 展开,跨堆复制保留为硬错误。其二是调度,每份 tile 配置与其消费者被保持在一条有序、带副作用的伪指令里直到 emit 前才展开,矩阵寄存器改为可分配、MMA 的累加器做 tie、零累加器的定义不读旧值。提交同时新增三份测试,覆盖配置化 load/MMA/store 顺序、同堆与跨堆复制、以及 RVV 与非 RVV 两种选择。
一处仍未澄清的不一致:分支上最近一条 [SyncBots] Integrate LLVM at b3b5e33 的作者时间停在 09-29,但把当前头提交与上一期头提交做提交比较,差集里包含 10-30 的上游提交;也就是说重放在改写历史时把上游基线前移了,而同步机器人的记录没有随之新增。
triton-riscv:一天之内从「打补丁的分支」变成「上游插件」(11-05)
日期:2026-11-05 来源:PR #98、提交列表、PR #92
改造分三处。第一处是后端形态:Triton 的 TRITON_PLUGIN_DIRS 机制把 backend/ 装成 triton_shared 后端插件,注册入口点、把 C++ 插件链进 libtriton.so、把 triton-shared-opt 一并复制进包;独立发行包随之消失,代码里的导入统一改走 triton.backends.triton_shared;后端自身改为通过 paths.py 查找 buddy-opt、buddy-llc、mir-translate 与 triton-shared-opt,CPU 驱动声明自己仅在没有任何 GPU 后端时才处于活动状态。
第二处是补丁集清零。patches/ 目录与施加补丁的脚本全部删除。补丁集此前存在的理由有两个:让 Triton 在没有 NVIDIA/AMD 工具链的环境里构建,以及兜住 LLVM API 的频繁变动。现在 buddy-mlir 的 LLVM 发行版带 NVPTX/AMDGPU 目标与 lld(#1027),再把 Triton 的 GPU 依赖路径指向 stub 目录,两个理由都不成立。
第三处是出包路径合并。release.sh 不再组装第二个 wheel,只剥掉工具、直接 bdist_wheel;Makefile 成为 setup、build、test、lit、clean 的统一入口。顺带修了一处 Python 3.14 的坑:setup.py 里 shutil.which("lit") 会优先取 pip 安装的 lit 控制台脚本,而 LLVM 发行版自带的那个调用 main() 时没有 if __name__ == "__main__" 保护,forkserver 多进程在导入主模块时会重跑它,lit 目标在 80 并发下因此失败。
代价写在同一个 PR 的说明里:Triton 3.9 的前端会从后端读取 backend_name 等字段,缺了它每个 tl.atomic_* 调用都会抛 AttributeError,riscv64 上有 383 个 FlagGems 用例因此失败;补上 backend_name、default_dot_input_precision 与 deprecated_fp8_dot_operand_dtypes 三个字段后失败面才收掉。示例侧也有让步:上游拒收了 asin/acos/atan/atan2 的前端补丁,例子改用 libdevice,靠它降到同样的 __nv_* extern_elementwise,再由 triton-shared 转成 MLIR math 算子。
triton-riscv 配套三笔:夜间与周末发版、16 进程 pytest、cp312-abi3 wheel(11-05 至 11-06)
日期:2026-11-05 至 2026-11-06 来源:PR #99、PR #100、PR #101、Release 列表
#99 把发版节奏对齐 buddy-mlir:夜间任务发布 nightly/<date>-<sha> 预发布,周末任务发布 release/<date>-<sha> 并标记为最新版本;没有新提交时跳过,release 在所有 wheel 上传完成前保持草稿状态,workflow_dispatch 提供一次带外的 dev/patch 选择。当日两笔夜间版已按此节奏产出。
测试侧把 pytest 套件改成 16 进程,数字有实测依据:在 207 个用例的切片上,1 进程 360 秒、8 进程 89 秒、16 进程 67 秒、24 进程 67 秒,32 与 64 反而更慢——单个用例是「编译、triton-shared-opt、llc、执行、比对」的串行链,进程再多就争用共享编译缓存。此前串行跑时,FlagGems 套件要 1 小时 14 分。
#100 按上游做法构建 stable ABI wheel:设置 TRITON_STABLE_ABI=ON,用受限 API(宏 Py_LIMITED_API 取 0x030C0000)编译 nanobind,wheel 标记为 cp312-abi3,一个 wheel 覆盖 3.12 至 3.15,发布矩阵从三个 Python 减到一个。同分支还修了 release.sh 的 manylinux 工具链探测:脚本硬编码 /opt/rh/gcc-toolset-14/enable 且在 dnf install clang 之前就检查它,而镜像是滚动更新的 :latest、当时已带 gcc-toolset-15,导致启用脚本从不执行,clang 找不到 crtbeginS.o、-lstdc++、-lgcc(riscv64)与 libstdc++ 的 <version> 头(x64),两个架构都构建失败;现在先装 clang,再按存在性启用全部工具链、最新的放最后。#101 于 11-06 12:52 合入(2 个文件、+17/−2),处理发布工作流在检出清理阶段的失败。
tilelang-riscv:十八天静默被 PR #5 打破,RVV 掩码与最大归约仍未覆盖(11-03)
日期:2026-11-03 来源:PR #5、PR #4、PR #2
主分支最后一笔提交此前停在 10-16 10:52 的「Build Python extension in Buddy CI」,连续十八日无提交。PR #5 由 laz174 提交,21 个文件中测试与文档占大头:新增三份测试分别覆盖 streaming load 的字节保真(+81)、IEEE 算术回归(+77)与 INT8 量化(+83);另有四份既有测试把原有算子的数值路径重新对齐——INT8 反量化、FP8 分块量化、paged KV cache 写入与逐元素激活;operator_inventory.py 亦做增删(+9/−14)。
合并后主分支头提交为 57c548c,此后 11-04 至 11-06 零提交。队列里仍挂着两笔老 PR:#4「RVV vector mask and max reduction lowering」停在 09-28,#2「Add Codex-compatible RISC-V operator workflow」停在 06 月,均未合——也就是说本次合入没有触碰 RVV 掩码与最大归约这条路径。发行版侧的 python-tilelang-ruyiai 锚定的是 10-28 的 0b7d66eb,PR #5 尚未进入任何包。
pytorch:riscv 分支三次整枝重放,基线不动、补丁集不动(11-02 至 11-06)
日期:2026-11-02 至 2026-11-06 来源:pytorch riscv 分支、开放 PR 列表
riscv 分支在 11-02、11-03、11-04 的 03:00 各做一次整枝重放,二十笔分支自有提交的提交时间被统一改写到同一秒内,作者时间保持原样;头提交依次为 b20942de、81ecd427、6c89022,信息始终是 [SyncBots] Integrate PyTorch at 3afdbd3,基线没有前移,补丁集也没有变化,仍是 riscv64 本地镜像(#51)、bytes_to_scalar 浮点修复(#44)、linear cross entropy 的 ULP 容差(#42)与 inductor opinfo blocklist(#50)。11-05 与 11-06 分支零提交。
main 分支每期二十至五十五笔上游同步,逐条核对后没有与 RISC-V 或 RVV 相关的改动,内容集中在 AOTI、inductor、cuDNN frontend、XPU/oneDNN、ROCm 回退与 Mooncake 传输。八笔开放 PR(#23、#35、#36、#38、#43、#46、#48、#51)全周未见合并,其中 #46「RISC-V Vector Extension support for ATen」与 #48「Add RISC-V Vector CPU capability」仍是 RVV 能力上行的两条主线提案。
需要与分发侧并读的是那条错位:openRuyi 的 python-torch-ruyiai(#1352)按分支产物构建,而分支头部每次重放都会换 SHA,包内锁定的来源落点就得重新对齐;该 PR 最后更新停在 10-27 09:51,复核意见为零,本期仍无对齐动作。
三、RuyiSDK 工具链与发行版(包管理器、发行版、镜像与支持矩阵)
窗口总览:openRuyi 主仓本周 156 笔提交(按北京时间自然日:11-02 七笔、11-03 九十四笔、11-04 十笔、11-05 四十一笔、11-06 四笔),合并 PR 覆盖补丁、Node.js、firecracker、RuyiAI 三件套、simdjson、debuginfo、LibreOffice 依赖链等;ruyi 主仓本周仅 11-02 一天有动作,packages-index 三笔全在 11-02;双周进展 080 期从两节草稿走到全节合并。
openRuyi #1350 合入:三份 spec 各自打到什么版本(11-03)
日期:2026-11-03 来源:buddy-mlir.spec、python-triton-ruyiai.spec、python-tilelang-ruyiai.spec
三份 spec 的实际锚点可在主仓直接核对:
buddy-mlir0.1.2:Source0指 buddy-compiler 提交60f354a7(「[ci] Add the publish-models workflow #925」),Source1指RuyiAI-Stack/llvm-project提交3845a205;用 clang/lld 22 引导,BUDDY_ENABLE_TESTS=OFF、BUDDY_MLIR_ENABLE_PYTHON_PACKAGES=OFF、BUDDY_DOWNLOAD_CLI11=OFF,静态库构建,LLVM 前缀装到/usr/lib64/buddy-mlir/llvm。python-triton-ruyiai3.8.0+git20261103.da5291b:Source0是 triton-lang/triton 提交5889527,Source1是 triton-riscv 标签nightly/20260913-da5291b;两个补丁分别处理系统构建工具(cmake/ninja/nanobind)与/usr/lib64/buddy-mlir/llvm/bin下的工具查找;运行期依赖buddy-mlir、buddy-mlir-llvm与clang。python-tilelang-ruyiai0+git20261028.0b7d66e:主源锚 tilelang-riscv 提交0b7d66eb,并把 TileLang/tvm882a7748、dmlc-core3031e4a6、rangcabe04d6、tvm-ffiae346ec9、DLPack93c8f2a3五个子模块单独打包;五个补丁处理 tvm-ffi 版本上限、torch-c-dlpack-ext 与 patchelf、buddy-mlir 工具链发现、z3 soname、libbacktrace 开关;构建期需要python3dist(torch)。
三份 spec 共用同一条 LLVM/MLIR 链,这决定了后续升级的顺序:先动 buddy-mlir,再动两个 Python 包,任何一层换锚点都要同步重编。43 天复核的主要工作量也不在功能,而在把源码树里靠环境变量拼起来的路径逐条落成可重现的查找规则。
版本锚点滞后:triton 停在 09-13、tilelang 停在 10-28、buddy 停在 0.1.2(11-03)
日期:2026-11-03 来源:triton-riscv 夜间版 09-13、tilelang-riscv 提交 0b7d66e、BUDDY MLIR 0.1.3
三个包的版本串看起来都很新,代码锚点却各不相同:triton 的 3.8.0+git20261103 里 20261103 是打包日期,真正的代码来自 09-13 的 nightly/20260913-da5291b 标签(发布记录 09-14 01:41 UTC),距合入已约五十天;tilelang 锚定 10-28 的 0b7d66eb,意味着 11-03 刚合入的 PR #5 不在这次打包的源码快照里;buddy-mlir 包写 0.1.2,而上游正式版已到 0.1.3(10-31 23:01 UTC 发布),夜间版已到 0.1.4.dev20261105。
版本号里的日期不等于代码日期,这一点对发行版用户有实际含义:装到的是某个快照,不是最新。包一旦构建发布,其能力与仓库 HEAD 之间会有一段固定延迟,这段延迟需要靠后续的 bump 提交来缩短;本周没有一笔 bump 提交。
ruyi 0.54.0-beta.20261102:十三笔清单只有四笔新账,ABI 从扫包走到判主机(11-02)
日期:2026-11-02 来源:Release 0.54.0-beta.20261102、PR #507、PR #496、PR #509
时间线:15:16 打标签,18:37 发布单文件二进制与镜像站目录,PyPI 同步 0.54.0b20261102;正式版通道仍是 09-24 的 0.53.0。这是 0.53.0 之后 39 天里的第一个新标签——上一个预发版 0.54.0-alpha.20260918 比 0.53.0 还早六天,整个十月没有出过任何 alpha 或 beta。alpha 到 beta 隔了 45 天,而 0.50 与 0.51 两条线的 alpha→beta 间隔均为 28 天、0.53 线为 20 天。
比较接口给出的分叉情况值得记一笔:beta 相对 0.53.0 是 diverged,领先七十笔、落后三笔;落后的三笔分别是 0.53.0-beta 与 0.53.0 的版本号自增,以及一笔「跨仓识别已安装包」的修复——同一修复在 beta 上以另一 SHA 存在,不构成功能缺失,只是 0.53 发布分支的记账没有并回主线。
ABI 能力的层次需要分清:#496 的 ELF 扫描器早在 09-16 就已合入并随 0.53.0 发布,能扫目录与 tar/zip/deb 归档、产出确定性的 .abi.toml 旁注,并提供 rescan-package-abi;本期新增的是消费侧 #507,拿旁注去比对当前主机、回答「这个包在这台机器上能不能跑」。同版本的 #509 修的是取包失败上报:非 2xx 响应不再被当成「下载成功」留下错误页,保留可续传的部分下载,并把 HTTP 状态、重定向、连接失败、传输停滞分别给出提示——这条对实际使用者比 ABI 检查更直接。
packages-index:三个包十一份 ABI 旁注,覆盖面仍是三位数分母里的个位数(11-02)
日期:2026-11-02 来源:packages-index 提交、gnu-ruyisdk riscv64 旁注
三笔提交集中在 #507 合入前的十八分钟内:13:09 给 toolchain/gnu-ruyisdk 加 0.20260921.0(含三份旁注),13:18 给 board-util/wlink 加两份版本共六份旁注,13:26 给 emulator/qemu-system-riscv-upstream 加两份 amd64 旁注。
以 gnu-ruyisdk 的 riscv64 旁注为例可以看出扫描粒度:整个归档 2178 个文件,识别出 43 个 ELF、排除 5478 个;e_machines=[243],依赖五个 soname;版本需求上限 GLIBC 2.38、GLIBCXX 3.4.21、CXXABI 1.3.9;ISA 属性记录到带版本号的粒度(rv64i2p1、m2p0、a2p1、f2p2、d2p2、c2p0,外加 zicsr、zifencei、zmmul),栈对齐 16。这足以支撑「主机能不能跑这份工具链」的判定。
但覆盖面是硬约束:索引内共 327 个包版本描述文件,有旁注的只有 3 个包、11 份文件,其中 qemu 只有 amd64 两份、没有 riscv64。一个 RISC-V 用户现在去查绝大多数包,得到的都会是「未判定」。旁注覆盖面要追上来,得靠构建管线逐包重扫。
openRuyi 主仓:一周 156 笔提交,11-03 一次推入 75 笔 Rust 规格(11-02 至 11-06)
日期:2026-11-02 至 2026-11-06 来源:openRuyi 提交列表、PR #1595、PR #1596
按北京时间自然日统计为 7、94、10、41、4 笔。11-03 的九十四笔里有七十五笔在同一秒推入:一笔 firecracker 本体,加上七十四笔 Rust crate 规格(含 rust-vhost、rust-vm-allocator、rust-vm-superio、rust-bitcode 等,是 firecracker 的依赖闭包);15:59 的三笔是 RuyiAI 三件套;其余为 patch 2.8.1、Node.js 26.13.0、simdjson 5.0.8、debuginfo 门控等。作者以 Jvlegod(75 笔)、Leetfs(44 笔)、Jingwiw(12 笔)为主。
11-05 的四十一笔中,三十七笔属 LibreOffice 依赖链,分两批合入:PR #1595(1/n,25 个文件、+1383)一次加入二十一个包,覆盖 WordPerfect(libwpd、libwps)、Visio(libvisio)、Publisher(libmspub)、PageMaker(libpagemaker)、QuarkXPress(libqxp)、Zoner Draw(libzmf)、StarOffice 与旧版 Office 二进制(libstaroffice、libmwaw、libe-book),以及 liborcus、libepubgen、libodfgen、libetonyek、liblangtag 与 mdds;PR #1596(2/n,17 个文件、+4633)补字体工具链,把 python-afdko 及其依赖(defcon、fontparts、fontpens、ufoprocessor、ufonormalizer、mutatormath)与 antlr4-cpp-runtime 一并打包。这条链尚未走完:#1600(4/n,Base 组件的 Firebird)、#1602(6/n,PDFium、ZXing、SANE、Box2D)仍在审,#1603(7/n)已关闭未合并。
例行与安全更新四笔:libvirt 12.9.0 标注 security-fixes、util-linux 2.42.4、clang-wrap 20261105、gnupg 把 scdaemon 拆成独立子包。CI 侧有一处试错:11-04 21:43 把 update-package 工作流改为在 openruyi 容器里运行,两小时后回退,随后把 apt-key 换成作用域受限的 OBS 签名密钥。
openRuyi 2026.10 月度版整月缺位,新闻页停在九月(11-02 至 11-06)
日期:2026-11-02 至 2026-11-07(状态) 来源:openRuyi 新闻页、Releases
2026 年 10 月的月度发版公告全周未出现,新闻页最新发版公告仍是 09-30 的 2026.09;到 11-07 核查时,2026-10 与 2026-11 的发版路径均返回 404。按前四个月 6-30、7-23、8-27、9-30 的节奏,这是首次整月缺版。
需要区分两类内容:十月的两篇专题(《openRuyi-Project:RISC-V 软件生态的公共基础设施》与《openRuyi 发布 Ruyi Firmware》)均标注 10-19,实际由官网仓库在 10-30 15:36 一次提交上线;Releases 页上 2026.05 至 2026.09 的 experimental 标签是 10-19 一次性补录的,都不能当作十月发版。
其中 Ruyi Firmware 与 RuyiAI 的验证环境直接相关:固件基于 coreboot、OpenSBI、EDK2,公开构建与刷写流程;集成 MultiArchUefiPkg 的 x64emu,让 RISC-V UEFI 环境能执行部分 x64 显卡 UEFI 组件(已在 AMD Radeon RX 6400 上组合测试),并为 K3 不支持 DMA32 导致的 RX 550 oprom 问题改用 AArch64 oprom 组件;UEFI Setup 新增 CPU mode 选择(X100 only、X100 + A100、A100 only),其中 A100 only 支持向量扩展,可作为 1024 位 vlen 的测试环境。发布包为 20261013、20261014、20261015 三个版本,并在 SpacemiT K3 Pico ITX 上跑通 Wayland 桌面与 glmark2-wayland。
080 期:ruyi 0.54 定档 11 月 11 日前后,K1/K3 工具链进软件源(11-05)
日期:2026-11-05 来源:080 期文稿、ruyi 开放 PR
080 期给出明确时间点:RuyiSDK 0.54 将于 11 月 11 日前后发布,包管理器版本同为 0.54.0;首要看点是软件包与当前系统的 ABI 兼容性检测,首发支持 C 运行时为 glibc 或 musl 的任意 Linux 发行版;其次,下载请求返回非 2xx 状态码现在会被正确判为失败,下载失败的排查指南补入服务器问题与终端网络环境两类因素。工程侧更新了依赖版本,含 10 月以来 TLS 证书相关安全修复;由于 pygit2 尚未适配 Python 3.15,CI 暂不使用 3.15。
软件源的实质变化是 toolchain/gnu-ruyisdk 加入针对 SpacemiT K1/K3 的工具链适配,并为部分软件包补上 ABI 兼容性信息。发行版侧的日常维护没有停:本周 156 笔提交里绝大多数是打包;但面向 AI 栈的发版没有走,卡点在发布流程而非开发。
四、向量扩展与算子优化(VecIntrinBench / IntrinTrans / FBGEMM)
三个向量仓整周静默,最新提交分别停在 02-13、06-25、07-13
日期:2026-11-06(状态) 来源:VecIntrinBench、IntrinTrans、FBGEMM
三个以「向量」为主题的仓库全周零提交,最新提交时间分别是 VecIntrinBench 02-13、IntrinTrans 06-25、FBGEMM 07-13,分别停了近九个月、四个月、三个月。三者原本构成「测什么、怎么翻、算子怎么实现」的三角,现在各自自然冷却,不是一次统一的项目终止。
VecIntrinBench 停得最久,对覆盖率判断的影响最直接:基准不更新,它测到的内建函数集合与编译器实际支持的集合会越差越远,而 LLVM 侧的 A100/AME 降级链本周还在扩展。
向量数学补在库侧:glibc libmvec 四函数、newlib 十四函数(11-04 至 11-05)
日期:2026-11-04 至 2026-11-05 来源:080 期草稿、文章仓提交列表
080 期的「基础组件」两节给出了本周最实的一批底层工作。基础 C 库部分:glibc 把 sinpif、sqrt、sqrtf、tanf 移植进现有的 libmvec 框架;newlib 把 atanhf、atan2f、atanpif、atan2pif、exp2f、cosf、coshf、cospif、exp10f、expf、log2f、log2p1f、rsqrtf、expm1f 共 14 个函数移植进现有向量数学框架。
这批函数是 RVV 上做低精度推理与激活计算的底座:向量数学库缺函数时,算子只能退回标量路径,编译器侧的 RVV 降级再好也发挥不出来。与之呼应的是 11-02 的一篇 arXiv 研究——作者用 fp32、int8、bf16、fp16 四种精度的乘加循环对比 LLVM 的 RISC-V 自动向量化,在 -march=rv64gcv 这一共同基线下,int8 与 fp32 能干净地向量化,bf16 与 fp16 退化为大量标量回退,fp16 甚至退化成逐元素的软件转换调用,除非额外开启 zvfbfmin/zvfbfwma 与 zvfhmin;QEMU 用户态下的动态指令数显示,基线 bf16 与 fp16 内核执行的指令数分别是开启扩展版本的 17.0 倍与 75.9 倍。一端缺库函数,一端缺特性开关的可见性,是同一个问题的两面。
编译器侧:LLVM 六笔 P-ext 与 XTHeadBb、Ztt v0.6;GCC 三笔 Zb*;V8 六笔
日期:2026-11-05 来源:LLVM PR 235306、LLVM PR 237815、GCC Zba 提交、V8 CL 8714039
LLVM 上游本周合入六笔,集中在打包 SIMD 与位操作:P 扩展把更多 pm*add* 加后续加法的模式合成 pm*adda* 类指令(#235306),改进 RV32 上 64 位 funnel shift 的代码生成(#235245),新增带扩宽水平加法的打包乘累加 intrinsics(#234450),并为 Clang 补上打包字节水平乘累加 intrinsics 的有符号、无符号与混合符号三种形式(#234484);GlobalISel 侧在 XTHeadBb 下先扩宽窄类型的 G_CTLZ_ZERO_POISON(#237815)、把 G_CTTZ 扩宽到 XLEN 后再走 G_CTLZ 以选出 th.ff1(#238214)。RuyiSDK 的 LLVM 分支另有两笔:按 Ztt 规范与 intrinsics 文档 v0.6 初步支持 RV32/RV64 矩阵扩展,涵盖汇编与反汇编、Clang 类型与 intrinsics、LLVM IR 与代码生成,以及 M/ACC 寄存器分配、拷贝与溢出处理(#169);为 AME 分支增加 GitHub Actions CI(#170)。
GCC 的三笔于 10-27 进入开发主线(r17-5638 至 r17-5640):Zba 完善移位加法与整数除法、取余的组合识别;Zbs 利用 bclr 自身的移位索引语义消掉多余掩码计算,改进 RV32/RV64 位图操作;Zbkb 修正 packh 的成本模型与匹配优先级,解决 Zbb 与 Zbkb 同时启用时选不到更优指令的问题。工具链 CI 侧,RISE-CI 打通容器服务与 GitHub Actions,新增 multilib 构建场景检查;性能侧启动基于 SPEC CPU 2026 的真实硬件评测准备,已识别出候选 K3 平台跑完整 SPECspeed 2026 的内存瓶颈,正在评估其他硬件方案。
V8 一侧本期提交并合入六笔、审阅并合入六笔。前者含可信指针标签范围检查修复、标签下溢时把越界可信指针置零、Maglev 通过零寄存器保存零值常量、从 GN 编译配置推导 CPU 特性、Float64 转 Float32 时保留 NaN 符号位、Liftoff 把子字原子 RMW 的临时寄存器分配移到循环外;后者含标量移动时保留向量尾部(CL 8714039)、放开 VLEN=1024(CL 8585179)、实现缺失的 RV64 Add643 运算、硬件上 stop() 只生成 ebreak。
五、Buddy Compiler 动态(buddy-mlir 提交与发布)
0.1.3 的说明与代码差集:十六笔里十二笔动向量层,发行说明只写 ABI(周期起点前夜)
日期:2026-10-31(北京时间 11-01 07:01) 来源:BUDDY MLIR 0.1.3、v0.1.2 与 v0.1.3 的提交差集
这一版在周期起点前夜发布,是理解本周所有下游锚点的前提。发布说明只展开了一项内容:buddy-server 的新 ABI(#1015),即把按模态各写一套的模型插件句柄收敛成统一接口,外加统一的加载、状态查询、调用、流式与取消路径。但把 v0.1.2 与 v0.1.3 的提交差集拉出来看,这一版实际装了十六笔提交、一百三十六个文件,其中十笔是 [midend][VIR] 下一整段 RISC-V 向量化工作,另有二笔同属 VIR 线但不在 [midend] 前缀下(decode attention 的 VIR 方言实现与 VIR 的 Python 绑定)。也就是说,十六笔里有十二笔动的是向量方言这一层,而发行说明一个字都没提 RISC-V 或 RVV。
落差本身就是信息:看发布页的人会以为 0.1.3 只是一次服务端重构,而实际拿到的是一个可伸缩向量化能力显著前移的版本。对下游的直接含义是,triton-riscv 的依赖锚点仍抬在 nightly/v0.1.3.dev20261030(#91,10-31 13:15 合入),内容与正式版同源(0.1.3 从 10-29 主分支头部切出),但按现有的 renovate 节奏,切到 release/v0.1.3 还要再等一轮——到本周末仍未切。
本周 VIR 三笔:set_vl 精确/任意 VLEN 分路、vir.shuffle 分段降级、内核按 llc 选项(11-04 至 11-05)
日期:2026-11-04 至 2026-11-05 来源:PR #1028、PR #1029、PR #1030、PR #1031
set_vl 的语义收紧见「本周要闻」。补上一条实现细节:#1029 对不给 rvv-vlen 的构建要求代码对任意 VLEN 成立,strip-mined 区域按 N 乘 vscale 在运行时步进、向量按最小的 128 位定尺寸,带结果的 set_vl 会被直接拒绝并报「需要 rvv-vlen,即精确 VLEN」——此前这个 pass 只是报错,语义靠「掩码碰巧全真」兜底。
11-05 的两笔 lowering 改动针对 vir.shuffle 与内核降级。广播先经 vector<[2]xT> 再取前半(vector.scalable.extract)得到 vector<[1]xT>,因为直接对 vector<[1]xT> 做 vector.broadcast 时 LLVM 会生成掩码 [0] 的 shufflevector,被 createOrFold 当成恒等操作折叠掉,剩下的 vscale-1 个 lane 全是 poison;llc 会把 insertelement 变成只写 lane 0 的 vfmv.s.f,一旦这个值不并入 .vf 指令而是存进寄存器,结果就错了。改走 [2]xT 后 llc 用 vfmv.v.f 在 [1]xT 的 LMUL 上完成广播,指令数不增,循环里还少一条。另一笔让内核按 llc 的 -mattr 等选项降级,测试 vir-broadcast-scalable-one.mlir 覆盖剥离与 set_vl 带结果两条路径。
#1033 BOSCAME SPM:209 个文件、+46131,Kernel Contract 与 FPGA 工具一起铺开(11-06)
日期:2026-11-06 来源:PR #1033、提交列表
11-06 15:39 合入的这笔是本周体量最大的单笔:209 个文件、+46131/−2305。按 PR 自述分四部分:其一,新增与目标无关的 Kernel Contract(标注与校验),以及把 bufferized Linalg 降到 bosc_ame SPM/DMA/tile IR 的 BOSCAME 规划器与 emitter;其二,扩展 bosc_ame 方言(SPM/DMA/tile 契约、LLVM 导出、SPM/DMA 校验),并把相关 pass 接进 buddy-opt;其三,新增 runtime/boscame 裸机运行时与 examples/BOSCAMEFPGA 的板上上传、审计与仿真工具,另在 examples/BOSCAMEDialect 放主机侧方言示例;其四,补齐文档(根 README 到 FPGA 示例、运行时、docs/BOSCAMEKernelContractPipeline.md 与 docs/KernelContract.md 的阅读路径),并用 lit 用例覆盖这条路径:一组在 KernelContract 侧,一组在 BOSCAME 转换侧。
这笔与 11-04 的 LLVM 提交是同一条链的两端:LLVM 侧解决「i32 累加器必须一直留在 AccReg」的寄存器归类与调度,buddy-mlir 侧解决「上层 TTIR 怎么降到 BOSCAME」——从契约、规划、发射到运行时与 FPGA 工具,第一次给出可跑的端到端描述。需要克制的是覆盖面:PR 没有给出端到端模型性能数据,能跑到多快本周没有答案。
runtime 共享 serving 控制器与 CI 三笔(11-04 至 11-05)
日期:2026-11-04 至 2026-11-05 来源:PR #1018、PR #1026、PR #1027、PR #1025
#1018 新增一个与模型无关的 serving 生成控制器(18 个文件、+2045),让运行时适配器共享同一套生成 token 预算、停止条件、用量记账与流式清理;调用方既可以走 LLMSession 的宿主采样,也可以走设备侧直接给出 token 的 token 源。几处细节值得记:字符串停止条件先按原始字节匹配、再做 UTF-8 解码,避免多字节边界误判;token 预算把首个预测与 EOS/停止 token 都计入;重复惩罚在请求的历史窗口内按 token ID 去重后各施加一次。首个 token 来自 prefill,因此吞吐统计把首次选择记到 prefill、后续选择记到 decode,零 decode 工作时报告零吞吐。后续适配器接入分别跟踪在 DeepSeek R1(#1021)、Llama 3.1 TTNN(#1022)与 Qwen3-VL 等条目上。
CI 三笔里,#1026 把 pytorch 2.15 加入测试矩阵(覆盖 2.11 至 2.15),起因是一个真实回归:2.15 下最新的 full check 在 AOT 算子测试的 resize_enlarge 用例处失败,且失败发生在 importer 之前——AOT autograd 的 functionalization 现在拒绝在已函数化的张量上放大 resize_,图根本到不了 ResizeOp;改法是把测试换成 out-of-place 的 aten.resize。#1027 让 CI 发布的 LLVM 带上 NVPTX/AMDGPU 目标并启用 lld,#1025 把 LLVM 升到 bef335e2143c。
发布节奏:0.1.3 之后两个夜间版,下游锚点仍在夜间标签(11-03、11-05)
日期:2026-11-03、2026-11-05 来源:夜间版 dev20261103、夜间版 dev20261105、Release 列表
11-03 18:23 出 0.1.4.dev20261103,距上一版隔了三天;11-05 10:58 出 0.1.4.dev20261105。正式版仍是 10-31 的 0.1.3。11-06 合入 #1033 之后没有新夜间包——这笔四万余行的改动要等下一版构建才会进下游。
锚点的形态仍未变:triton-riscv 依赖的是夜间标签 nightly/v0.1.3.dev20261030,不是正式版 release/v0.1.3。两个标签内容同源,差别在可复现性——夜间标签会被后续构建覆盖引用,正式标签不会。对一个已进发行版的栈来说,长期锚夜间版意味着包内锁定的来源不可长期复现。
六、社区与活动与官方主页
双周进展 080 期:从两节草稿到全节合并,卷首语与官网文档两节仍空(11-04 至 11-05)
日期:2026-11-04 至 2026-11-05 来源:080 期文稿、文章仓提交列表
文章仓 11-04 有四笔提交:09:56 建稿、16:01 补 LIBC、18:02 与 19:35 两次更新 080 期文件;当时只有基础 C 库与 V8 两节有内容。11-05 09:59 至 15:25 之间合并八笔提交,补上包管理器、IDE(两笔)、开发板支持矩阵、OpenJDK、GCC、Go 与 ruyipkg 各节。
开发板侧新增 Milk-V Jupiter2 的 Bianbu 4.0.1 Desktop 与 SpacemiT K3 Pico-ITX 的 Bianbu 4.0.8 LXQt 中英文测试报告,另更新 VisionFive 2 Lite 的 Ubuntu 24.04.5 报告;示例仓库新增 HiFive Premier P550 的 Dhrystone 与 SiFive Kernel Library 示例、Jupiter2 的 llama-server 部署示例,以及 K3 CoM260 与 K3 Pico-ITX 的 ROS 2 课程入口。
尚未填写的三节是卷首语、版本测试及遗留问题、官网&文档;QEMU 一节同样为空。文稿中「GCC」小标题重复出现两次,属编辑疏漏。论坛侧到本周末尚未发 080 期帖,双周进展的论坛最新一期仍是 10-26 的 079 期。
论坛:11-03 的脚本安装指南与 11-06 的汽车 MCU 转载,080 期未发帖
日期:2026-11-03、2026-11-06 来源:ruyi 脚本安装指南、英飞凌汽车 MCU 转载、最新话题
11-03 17:50 新增 #2902《使用脚本安装升级 ruyi 的说明和使用指南》,给出两种场景:本机已有 ruyi 时走升级、没有时走全新安装,脚本装到 ~/.local/bin、不需要管理员权限;帖子里明确写了脚本当前拉取的二进制版本是 0.52.0——比正式版 0.53.0 落后一个版本,比 0.54.0-beta 落后两个层级。同一时段还有一笔同类帖 #2901,已被作者删除。
11-06 12:05 新增 #2903《【转载】英飞凌首款 RISC-V 汽车 MCU,要来了》,属行业转载,不涉本栈。除此之外窗口内无新帖,10-29 的三篇峰会相关帖仍在首页。
官方主页:三页整周无变化,博客两篇、文档二十三章
日期:2026-11-02 至 2026-11-07(状态) 来源:RuyiAI 官方主页、博客索引、文档索引
index.html(7246 字节)、blog.html(5632 字节)、docs.html(10843 字节)三页的 sha256 与上一期一致,全周无变化:首页索引 3 条、博客 2 篇(《Triton 的 RISC-V 适配》《PyTorch RISC-V CI 实践》)、文档 23 章。
与本周的技术进展对照看,这个静默值得记一笔:AME/BOSCAME 后端连落两笔、triton 完成插件化改造,都是可对外讲的结构性变化,博客与文档侧却没有对应更新。官网的两篇博客都是「适配实践」类,缺的正是「矩阵后端走到哪一步」「插件化之后怎么装」这类阶段性说明。
外部新闻与 arXiv:五期定向查询全周零命中,仅一篇周期内论文
日期:2026-11-02 至 2026-11-06(状态) 来源:Google News RSS、arXiv 2611.03917
五期日报的中英文定向查询(如意 RISC-V、RuyiSDK 中英文、RuyiAI、如意社区开源、Ruyi RISC-V AI、openRuyi)全周零命中。中文侧唯一带「如意」的结果仍是 10-25 的峰会参展报道,落在周期之外且与如意社区无关;RISC-V 通用新闻侧有条目(OpenBSD 8.0 扩大 RISC-V 支持、Linux 7.4 的 RISC-V 内存拷贝选择等),与本主题无直接关系,按既定口径不收录。
arXiv 侧周期内仅一篇与 RVV 向量化直接相关的研究(2611.03917,11-02),已记在第四章。外部报道缺位与发版观察并不冲突——两条月度承诺落空都属于「没有发生的事」,本来就不会有新闻。
七、趋势观察
分发链路打通,但「打包完成」不等于「能力同步」
#1350 的意义不在版本号,而在分发路径第一次被写成发行版配置:以前要用这套栈,得自己拉 triton-riscv、tilelang-riscv 与 buddy-mlir,按文档设 BUDDY_MLIR_BINARY_DIR 一类变量;现在 openRuyi 的打包仓里有了这三个组件,用户的安装门槛从「会编编译器」降到「会装包」。
但三份 spec 锚定的代码都早于本期上游:triton 停在 09-13、tilelang 停在 10-28、buddy 停在 0.1.2,而三个仓库本周都还有新动作。最刺眼的是 tilelang——11-03 刚合入的 PR #5 是十八天静默后的第一笔功能,却不在当天合入的 RPM 里。版本串 3.8.0+git20261103 会强化误读,把打包日期当成代码日期。要解决这个落差,要么建立定期的 bump 流程,要么在包描述里写清快照日期;否则每合入一笔功能,包与仓库的差距就再拉大一点。
插件化把补丁成本换成版本绑定,383 个失败用例是首付
triton-riscv 的收益很直接:以后跟随上游升版不再需要重放补丁,出包只剩一个 wheel,安装面从两个发行包降到一个。代价同样明确,而且是同一天暴露的:Triton 3.9 的前端从后端读 backend_name 字段,缺它就有 383 个 FlagGems 用例失败。寄生在上游扩展点意味着上游前端的隐式契约变成必须满足的接口,而这些契约往往没有文档,只能在测试里撞出来。
判断这次改造是否成功,不看今天删了多少行,看下一次上游升版时重放的成本,以及 FlagGems 这类下游套件是否还需要专人盯版本。到本周末,跟随上游的路径已经清晰,配套的验收流水线仍未建立:#56「Migrate additional FlagGems operators」仍是开放状态,「这批算子能不能在 riscv64 上跑通」这个问题仍然只能在 PR 里回答。
后端成为本周主轴,前端与运行时静止
本周的可核增量几乎全部落在「编译与降级」:LLVM 的 AME 后端补寄存器归类与 tile 调度、buddy-mlir 的 BOSCAME 打通契约到 FPGA、VIR 把 set_vl 的 VLEN 语义收紧、tilelang 补 streaming load 的降级路径。与此同时,pytorch 的 RISC-V 分支三次重放、零功能增量,main 侧一百余笔上游同步里没有一笔涉 RISC-V。
这个分布说明这一阶段的重点是让已有算子在 RISC-V 上降得对、跑得稳,而不是扩大前端覆盖面。对下游使用者来说,短期内可感知的变化会出现在编译产物与 JDK 行为上,而不是新框架支持列表里。与之配套的短板也在同一处:性能方向唯一一条明确以优化为目标的 triton PR #85 仍停在 10-18,半个月没有动静。
发版节奏:beta 出了,正式版与月度版仍在窗口外
十月末两条月度承诺同时落空,十一月第一周各有一半下文:ruyi 在 11-02 出了 0.54.0-beta,39 天断档后第一跳,并把 0.54 的正式版定到 11 月 11 日前后;openRuyi 的 2026.10 月度公告到 11-07 仍未出现,成为首个整月缺版。
两条线的代码侧都不算停滞——openRuyi 主仓本周 156 笔提交,ruyi 有 ABI 探测与取包修复落地——所以卡点在版本冻结、公告撰写、镜像构建与发布这一段。这与上周的判断一致:这个生态的「把东西做出来」与「把东西发出去」是两套能力,前者在多个仓库同时推进,后者在近两个月里没有一次按期完成。
基准侧长期空白,让「优化是否有效」无法回答
VecIntrinBench 停更近九个月、IntrinTrans 四个月、FBGEMM 三个月,三个仓全周零提交。同一周里,glibc 与 newlib 补了十八个向量数学函数、LLVM 合了六笔 P-ext 与 Ztt v0.6、buddy-mlir 铺开 209 个文件的矩阵后端——能力在扩张,度量没有跟上。
后果不是抽象的:没有更新的内建函数基准,就无法回答「编译器实际支持集合涨了多少」;没有常驻的性能基线,就无法回答「BOSCAME 路径比旧路径快多少」。本周所有与性能有关的表述都只有「未观察到明显回归」这一级别,而这类表述无法支撑选型。
桌面包与 AI 栈并行,两条线不在同一个节奏上
openRuyi 一周 156 笔提交,其中 74 笔是 firecracker 的 Rust 依赖闭包、37 笔是 LibreOffice 依赖链——这是按组件分批推进的桌面办公套件打包。同一天(11-05),RuyiAI 栈除 triton-riscv 外全部静默:pytorch 的 RISC-V 分支零提交、tilelang-riscv 零提交、llvm-project 的 riscv 分支零提交。
两条线由不同的人、不同的仓库、不同的节奏推进。对读者而言,把打包侧的活跃当作 AI 栈的进展是一种误读;对项目而言,这种分工本身没问题,但周报层面必须分开记——否则「提交数」这个指标会持续给出错误的繁荣感。
附录:素材与核查说明
素材清单
- 2026-11-02 期:窗口 10-30 04:30 ~ 11-02 04:30(过去 3 天,覆盖周六与周日)。
- 2026-11-03 期:窗口 11-02 04:30 ~ 11-03 04:30。
- 2026-11-04 期:窗口 11-03 04:30 ~ 11-04 04:30。
- 2026-11-05 期:窗口 11-04 04:30 ~ 11-05 04:30。
- 2026-11-06 期:窗口 11-05 04:30 ~ 11-06 04:30。
- 周期边界外(11-06 白天至 11-07 下午)的动态经组织仓库、发布页与社区源核查后补入,见「本周补入的日报之外条目」。
核查方式与口径
- 组织核查(168 小时窗口,覆盖至 11-07 上午):RuyiAI-Stack、ruyisdk、buddy-compiler 三个组织的提交、PR 与发布,走 Atom 与网页双通道,不依赖 API 限额;上游 fork(PyTorch riscv、LLVM riscv、LLVM main)的提交按 RISC-V、RVV、向量扩展、玄铁相关关键词过滤后收录。窗口内三组织合计 93 条仓库动态。
- openRuyi 主仓统计:经 API 全量分页复核,窗口起点为北京时间 11-02 00:00(UTC 11-01 16:00)、终点 11-06 24:00,得 156 笔提交;按提交者时间换算北京时间的自然日计数为 7、94、10、41、4。该口径与日报各自的 24 小时窗口不同,故与单期日报数字不完全对应。
- 重点仓库补充核查:openRuyi 的 SPECS 三件套、ruyisdk 的 ruyi、packages-index、wechat-articles、buddy-compiler 的 buddy-mlir、RuyiAI-Stack 的 pytorch(riscv 分支)、triton-riscv、tilelang-riscv、llvm-project(riscv 分支)。
- 社区双源:RuyiSDK 开发者社区论坛(最新主题列表,本周两帖)与 openRuyi 发行版新闻页(含 2026-10、2026-11 发版路径的 404 复核)。
- 官方主页:www.ruyiai.org 首页、博客页、文档页三页快照与 sha256 比对,附博客与文档索引条目(博客 2 篇、文档 23 章)。
- 时间口径:仓库提交以提交者时间按北京时间换算;「每日」类描述以连续日历日为准;周周期为 2026-11-02 至 2026-11-06 五个工作日。
本周补入的日报之外条目
- 11-06 15:39,buddy-mlir 合入 #1033「Add SPM optimization for BOSCAME backend」(209 个文件、+46131/−2305),落在 11-06 期日报窗口(11-05 04:30 ~ 11-06 04:30)之后,是本周体量最大的单笔,已补入第五章。
- 11-06 12:05,论坛新增 #2903《【转载】英飞凌首款 RISC-V 汽车 MCU,要来了》,日报窗口之后,属行业转载,已补入第六章。
- 11-06 12:08,triton-riscv 发布夜间版
nightly/20261106-aa51ac2,是 #98 插件化改造后的第二笔夜间构建(第一笔为 11-05 的两轮),已补入第二章。 - 11-06 12:52,triton-riscv 的 #101「Fix the release wheel and the failing checkout cleanup」合入(2 个文件、+17/−2)。11-06 期日报写作时它仍是开放状态,本期按合入口径改记;同日的 #102「Add AMD support」合入时间为 11-07 01:30(周期之外),不计入本周。
- 11-03 的提交量口径更正:11-04 期日报记为「窗口内二十笔提交」,经 API 全量分页复核,该自然日实为 94 笔,其中 15:22:02 在同一秒推入 75 笔(firecracker 与 74 笔 Rust crate 规格)。日报当时只列了其中十二笔作代表,本期按全量口径改记。
- 11-07 核查时点补充:ruyi 最新 Release 仍为 11-02 的 0.54.0-beta.20261102,正式版未发;openRuyi 的
2026-10与2026-11发版路径均返回 404;官方主页三页 sha256 与 11-02 一致。
信源核查表
| 信源 | 核查结果 |
|---|---|
| RuyiAI-Stack 组织(全仓) | triton-riscv:九笔提交、四笔 PR 合入(#98、#99、#100、#101)、四笔夜间版(含 11-02 06:14 的 20261101-ed0ccd1);llvm-project:riscv 分支两轮整枝重放(11-01、11-02)+一笔 CI 令牌改动+11-04 的 BOSCAME 提交,main 最新停在 11-02;tilelang-riscv:11-03 合入 PR #5 后零提交;pytorch:riscv 分支三次重放、零功能增量,main 每期二十至五十五笔上游同步;ruyiai-daily 五期;FBGEMM、cpuinfo、VecIntrinBench、IntrinTrans、harness、torq-tile、pytorch-ci、dsh-osc 无提交 |
| ruyisdk 组织(全仓) | ruyi:11-02 发布 0.54.0-beta.20261102(另合入 #503、#507、#508、#509),其后零提交、零新标签,正式版仍为 0.53.0;packages-index:11-02 三笔 ABI 旁注,此后零提交;wechat-articles:080 期从草稿到全节合并(11-04 四笔、11-05 八笔);ruyi-imager、docs、support-matrix、ruyisdk-website、AME-operator、linux-xuantie-kernel 无窗口内提交 |
| openRuyi-Project 组织 | 主仓 156 笔提交(11-02 七笔、11-03 九十四笔、11-04 十笔、11-05 四十一笔、11-06 四笔);合并 PR 含 #1350(RuyiAI 三件套)、#1575(源地址修正)、#1559(firecracker)、#1563(Node.js 26.13.0)、#1534(simdjson 5.0.8)、#1564(debuginfo)、#1595 与 #1596(LibreOffice 1/n、2/n)、#1591(CI 容器化)、#1584(expat 2.10.0)、#1544(firefox 159);2026.10 与 2026.11 月度发版路径均 404 |
| buddy-compiler 组织 | buddy-mlir:正式版 0.1.3(10-31)+夜间版 dev20261103、dev20261105;窗口内提交含 #1017(可伸缩 VIR 片计数窄化)、#1020(torch 版本约束)、#1028 与 #1029(set_vl 语义)、#1018(serving 控制器)、#1030 与 #1031(vir.shuffle 与内核降级)、#1033(BOSCAME SPM,11-06);#1011、#1013、#994 仍未进正式版 |
| RuyiSDK 开发者社区论坛 | 本周两帖:#2902 脚本安装升级指南(11-03)、#2903 英飞凌汽车 MCU 转载(11-06);080 期未发帖,论坛双周进展仍停在 079 期(10-26) |
| openRuyi 发行版新闻页 | 发版公告仍为 2026.09(09-30);10 月仅两篇专题(均标注 10-19、10-30 上线);2026-10 与 2026-11 发版路径返回 404 |
| ruyi 包管理器 / Releases | 0.54.0-beta.20261102 为最新预发(11-02 10:37 UTC),正式版维持 0.53.0(09-24);主仓本周仅 11-02 有提交 |
| 官方主页(ruyiai.org) | 三页全周无变化:首页索引 3 条、博客 2 篇、文档 23 章,sha256 与上一期一致(核查至 11-07) |
| Google News RSS(中英文多组) | 五期共二十余组定向查询全周零命中;同期 RISC-V 通用新闻与如意社区无关,未收录 |
| arXiv(RISC-V) | 周期内一篇(2611.03917,11-02,bf16/fp16 自动向量化);11-03 之后无新论文 |
完整信源清单
- [1] openRuyi PR #1350 Ruyiai 三件套 — https://github.com/openRuyi-Project/openRuyi/pull/1350
- [2] openRuyi PR #1575 buddy-mlir 源地址修正 — https://github.com/openRuyi-Project/openRuyi/pull/1575
- [3] buddy-mlir.spec — https://github.com/openRuyi-Project/openRuyi/blob/main/SPECS/buddy-mlir/buddy-mlir.spec
- [4] python-triton-ruyiai.spec — https://github.com/openRuyi-Project/openRuyi/blob/main/SPECS/python-triton-ruyiai/python-triton-ruyiai.spec
- [5] python-tilelang-ruyiai.spec — https://github.com/openRuyi-Project/openRuyi/blob/main/SPECS/python-tilelang-ruyiai/python-tilelang-ruyiai.spec
- [6] openRuyi 提交列表 — https://github.com/openRuyi-Project/openRuyi/commits/main
- [7] openRuyi PR #1595 LibreOffice 1/n — https://github.com/openRuyi-Project/openRuyi/pull/1595
- [8] openRuyi PR #1596 LibreOffice 2/n — https://github.com/openRuyi-Project/openRuyi/pull/1596
- [9] openRuyi PR #1600 LibreOffice 4/n — https://github.com/openRuyi-Project/openRuyi/pull/1600
- [10] openRuyi PR #1602 LibreOffice 6/n — https://github.com/openRuyi-Project/openRuyi/pull/1602
- [11] openRuyi 新闻页 — https://openruyi.cn/zh-Hans/news/
- [12] triton-riscv PR #98 插件化与 3.9.0 — https://github.com/RuyiAI-Stack/triton-riscv/pull/98
- [13] triton-riscv PR #99 夜间与周末发版 — https://github.com/RuyiAI-Stack/triton-riscv/pull/99
- [14] triton-riscv PR #100 stable ABI wheel — https://github.com/RuyiAI-Stack/triton-riscv/pull/100
- [15] triton-riscv PR #101 发布工作流修复 — https://github.com/RuyiAI-Stack/triton-riscv/pull/101
- [16] triton-riscv PR #92 重基到 3.8.0 — https://github.com/RuyiAI-Stack/triton-riscv/pull/92
- [17] triton-riscv PR #85 softmax 与 matmul 优化 — https://github.com/RuyiAI-Stack/triton-riscv/pull/85
- [18] triton-riscv PR #56 FlagGems 算子迁移 — https://github.com/RuyiAI-Stack/triton-riscv/pull/56
- [19] triton-riscv Release 列表 — https://github.com/RuyiAI-Stack/triton-riscv/releases
- [20] triton-riscv 提交列表 — https://github.com/RuyiAI-Stack/triton-riscv/commits/main
- [21] tilelang-riscv PR #5 TileOps streaming load 与量化 — https://github.com/RuyiAI-Stack/tilelang-riscv/pull/5
- [22] tilelang-riscv 合并提交 57c548c — https://github.com/RuyiAI-Stack/tilelang-riscv/commit/57c548cc8d6b3f581d6687427c44183faaded981
- [23] tilelang-riscv PR #4 RVV 掩码与最大归约 — https://github.com/RuyiAI-Stack/tilelang-riscv/pull/4
- [24] llvm-project 提交 f346011 BOSCAME 寄存器与调度 — https://github.com/RuyiAI-Stack/llvm-project/commit/f346011a7ac59144fe085e0bc029cb24835f7a69
- [25] llvm-project PR #35 — https://github.com/RuyiAI-Stack/llvm-project/pull/35
- [26] llvm-project riscv 分支提交列表 — https://github.com/RuyiAI-Stack/llvm-project/commits/riscv
- [27] pytorch riscv 分支提交列表 — https://github.com/RuyiAI-Stack/pytorch/commits/riscv
- [28] pytorch 开放 PR 列表 — https://github.com/RuyiAI-Stack/pytorch/pulls
- [29] VecIntrinBench — https://github.com/RuyiAI-Stack/VecIntrinBench
- [30] IntrinTrans — https://github.com/RuyiAI-Stack/IntrinTrans
- [31] FBGEMM — https://github.com/RuyiAI-Stack/FBGEMM
- [32] buddy-mlir PR #1033 BOSCAME SPM — https://github.com/buddy-compiler/buddy-mlir/pull/1033
- [33] buddy-mlir PR #1028 精确 VLEN — https://github.com/buddy-compiler/buddy-mlir/pull/1028
- [34] buddy-mlir PR #1029 任意 VLEN — https://github.com/buddy-compiler/buddy-mlir/pull/1029
- [35] buddy-mlir PR #1030 内核按 llc 选项降级 — https://github.com/buddy-compiler/buddy-mlir/pull/1030
- [36] buddy-mlir PR #1031 vir.shuffle 分段降级 — https://github.com/buddy-compiler/buddy-mlir/pull/1031
- [37] buddy-mlir PR #1018 serving 控制器 — https://github.com/buddy-compiler/buddy-mlir/pull/1018
- [38] buddy-mlir PR #1026 pytorch 2.15 测试矩阵 — https://github.com/buddy-compiler/buddy-mlir/pull/1026
- [39] buddy-mlir PR #1027 LLVM NVPTX/AMDGPU — https://github.com/buddy-compiler/buddy-mlir/pull/1027
- [40] BUDDY MLIR 0.1.3 — https://github.com/buddy-compiler/buddy-mlir/releases/tag/release%2Fv0.1.3
- [41] buddy-mlir 提交差集 v0.1.2…v0.1.3 — https://github.com/buddy-compiler/buddy-mlir/compare/release%2Fv0.1.2...release%2Fv0.1.3
- [42] buddy-mlir 夜间版 dev20261103 — https://github.com/buddy-compiler/buddy-mlir/releases/tag/nightly%2Fv0.1.4.dev20261103
- [43] buddy-mlir 夜间版 dev20261105 — https://github.com/buddy-compiler/buddy-mlir/releases/tag/nightly%2Fv0.1.4.dev20261105
- [44] ruyi Release 0.54.0-beta.20261102 — https://github.com/ruyisdk/ruyi/releases/tag/0.54.0-beta.20261102
- [45] ruyi PR #507 主机 ABI 兼容性探测 — https://github.com/ruyisdk/ruyi/pull/507
- [46] ruyi PR #496 ELF ABI 扫描器 — https://github.com/ruyisdk/ruyi/pull/496
- [47] ruyi PR #509 取包错误上报 — https://github.com/ruyisdk/ruyi/pull/509
- [48] ruyi 标签列表 — https://github.com/ruyisdk/ruyi/tags
- [49] packages-index 提交列表 — https://github.com/ruyisdk/packages-index/commits/main
- [50] gnu-ruyisdk riscv64 ABI 旁注 — https://github.com/ruyisdk/packages-index/blob/main/packages/toolchain/gnu-ruyisdk/_abi/gnu-ruyisdk-20260921.linux-riscv64.tar.xz.abi.toml
- [51] RuyiSDK 双周进展 080 期 — https://github.com/ruyisdk/wechat-articles/blob/main/20261105-ruyisdk-biweekly-80.md
- [52] ruyisdk 微信文章仓提交列表 — https://github.com/ruyisdk/wechat-articles/commits/main
- [53] 论坛 ruyi 脚本安装指南 #2902 — https://ruyisdk.cn/t/topic/2902
- [54] 论坛英飞凌汽车 MCU 转载 #2903 — https://ruyisdk.cn/t/topic/2903
- [55] RuyiSDK 社区最新话题 — https://ruyisdk.cn/latest
- [56] RuyiAI 官方主页 — https://www.ruyiai.org/
- [57] RuyiAI 博客索引 — https://www.ruyiai.org/blog.html
- [58] RuyiAI 文档索引 — https://www.ruyiai.org/docs.html
- [59] OpenJDK JEP 544 — https://openjdk.org/jeps/544
- [60] OpenJDK PR #32311 AOT Code Cache — https://github.com/openjdk/jdk/pull/32311
- [61] LLVM PR 235306 P 扩展模式合成 — https://github.com/llvm/llvm-project/pull/235306
- [62] LLVM PR 237815 XTHeadBb CTLZ — https://github.com/llvm/llvm-project/pull/237815
- [63] GCC Zba 提交 cfbc8c48 — https://github.com/gcc-mirror/gcc/commit/cfbc8c48ae78c69401e8bc70d80eacbea8b47ec5
- [64] V8 CL 8714039 标量移动保留向量尾部 — https://chromium-review.googlesource.com/c/8714039
- [65] arXiv 2611.03917 bf16/fp16 自动向量化 — https://arxiv.org/abs/2611.03917
- [66] ruyiai-daily 每日情报 — https://github.com/RuyiAI-Stack/ruyiai-daily