Add bounded external weight bundles, full-model memory layout, Tensor-C lowering, segmented bare-metal QEMU loading and strict retained-array verification. Include Linux QMP shutdown and virtualenv launch fixes, regression coverage, CI entry points and public reproduction contracts.
Linux full_seed_0 evidence: all 38,895,616 logits compared, max_abs 8.58306884765625e-5 < 1e-3. W4 regression selection: 1017 passed, one platform-specific skip. Preserve the actual execution SHAs and pending remote validation and independent team acceptance.
完整 Qwen3 的权重和激活规模超出小图内嵌常量路径。本 PR 增加外置权重、完整地址布局和 RV64 执行链,使固定模型生成不含大权重的 ELF,并在 QEMU 裸机完成一次全量前向与 logits 校验。
范围:FP32、batch=1、L=256、28 层、无 KV cache;Host 为 Ubuntu 24.04 / Bash / Python 3.12,目标为 RV64GC/LP64D、QEMU virt 裸机。
前置依赖
W2 已由 #106 合入,#94 已关闭。仍依赖未合并的 W3 #96,本 PR 保持草稿;对主干的差异包含 W3,不能全部视为 W4 新增内容。
修改内容
本次同步与修正(2026-10-13)
SCRATCHV_ZIG_CACHE、ZIG_GLOBAL_CACHE_DIR、项目默认目录;每次构建的本地缓存不变。已有完整验证
完整 W4 Actions Summary,执行提交
6614ad9f71c28555ab6ee1b3a0f7d43055c8ddc9(2026-10-11):上述为一个输入的完整前向,属于记录的执行提交和环境;不代表当前 HEAD 重新执行、七组 QEMU 覆盖或团队验收。QEMU 墙钟包含启动、计算和输出转储,不是芯片性能指标。
复现入口、跨阶段修复与待验收事项
完整手动入口为
llm-deploy.yml的run_w4_validation=true,用例w4_case=full_seed_0;可复用工作流的run_full默认 false。报告和原始数组分别保存,受 artifact 保留期限制;读取作者数组不替代重新构建执行。既有跨阶段修复包括命名值绑定、Gemm 参数保留、拒绝未支持的 Softmax/Gelu 语义、QEMU 退出处理、虚拟环境解释器保留及报告/执行绑定检查。Tensor-C GEMM 未在本 PR 实现。历史完整结果保留各自执行身份。
待完成:W3 #96 合并并整理最终基线、E1/E3/E5 独立重新构建执行、真实 schedule Nightly、接口与阶段验收。W5 token 循环/文本生成以及 W6 性能门槛不在本 PR 的完成声明中。