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 個檔案中測試與文件佔大頭:新增 test_riscv_streaming_loads.py(+81)驗證位元組保真、test_riscv_ieee_arithmetic.py(+77)做算術迴歸、test_int8_quant.py(+83)覆蓋 INT8 量化;另有四份既有測試把原有運算元的數值路徑重新對齊(test_int8_dequant.py、test_fp8_quant_per_block.py、test_paged_kv_cache_write.py、test_elementwise_activations.py),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 的閱讀路徑),並用 tests/KernelContract 與 tests/Conversion/BOSCAME 的 lit 用例覆蓋這條路徑。
這筆與 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 在 tests/Python/AtenOps/test_resize_enlarge.py 處失敗,且失敗發生在 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.co
m/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