exp6 成果:add+rms_norm 融合算子 + 自适应算子调度(沐曦 C500 全链路验证) Phase 1: MCUT 融合内核,每 forward 32 个融合点,{add+norm} kernel 65→33;长协议 101.57 tps(vs torch +10.59%、vs maca_cpp +2.34%),token IDs 逐位一致 Phase 2: 自适应路由器 val_acc 1.000,漂移自愈 2.342×,命中路径 0.78–0.89µs Phase 3: 官方协议 3 组交错复测中位 +2.52%(单发 −5.10% 归因为共享宿主机噪声) 25 项单测全绿;对 gollamago 官方仓库零修改;含全部实验数据、官方日志与完整报告
exp6 成果:add+rms_norm 融合算子 + 自适应算子调度(沐曦 C500 全链路验证)
Phase 1: MCUT 融合内核,每 forward 32 个融合点,{add+norm} kernel 65→33;长协议 101.57 tps(vs torch +10.59%、vs maca_cpp +2.34%),token IDs 逐位一致
Phase 2: 自适应路由器 val_acc 1.000,漂移自愈 2.342×,命中路径 0.78–0.89µs
Phase 3: 官方协议 3 组交错复测中位 +2.52%(单发 −5.10% 归因为共享宿主机噪声)
25 项单测全绿;对 gollamago 官方仓库零修改;含全部实验数据、官方日志与完整报告
九源软件栈 + 沐曦(MetaX)llama 算子实战营 exp6 成果仓库。在 沐曦 MetaX C500 sGPU 上完成全链路验证:
fused_add_rms_norm.maca
add + rms_norm
{add+norm}
compare_results.py
8✓ / 3✗ + G 条件通过(✓*)。失败项均事先注册、事后归因:
25 项单测全绿:tests/ 17 项(内核数值正确性)+ phase2_router/tests/ 8 项(路由缓存语义)。
tests/
phase2_router/tests/
├── DESIGN.md # 预注册实验设计(门槛 A–K) ├── REPORT.md # 完整实验报告(结论、归因、复现) ├── setup.py # C++ 扩展构建 ├── src/ │ ├── fused_add_rms_norm.maca # MCUT 融合内核源码 │ └── bindings.cpp # pybind11 绑定 ├── benchmark/ │ ├── bench_kernel.py # 内核微基准 │ ├── run_e2e.py # e2e 驱动(--fused 开关注入) │ └── probe_overhead.py / probe_wrapper_variants.py ├── run_official.sh # Phase 3 官方协议单发三连 ├── run_official_rep.sh # Phase 3 三组交错复测 ├── results/ # Phase 1 + 3 全部 JSON 与官方日志 ├── phase2_router/ │ ├── profile_fusion.py / train_router.py / run_e2e_routed.py │ ├── router/ # features / model / cache │ ├── tests/test_router_cache.py │ └── results/ # 画像、训练曲线、router_full.pt、六组 e2e └── tests/test_fused_add_rms_norm.py
环境(沐曦 MACA 工具链 + /opt/conda/bin/python,模型 Llama-3.2-1B):
/opt/conda/bin/python
cd /root/exp6_fusion # 或本仓库根目录 PY=/opt/conda/bin/python # 单元测试(25 项) $PY -m pytest tests/ phase2_router/tests/ -q # Phase 1 e2e 长协议 $PY -u benchmark/run_e2e.py --model /root/models/Llama-3.2-1B \ --prompts 'The capital of France is' --max-new-tokens 64 \ --num-warmup-iterations 3 --num-profiling-iterations 10 \ --seed 0 --target maca --device cuda --backend maca_cpp \ --output-json results/e2e_baseline_maca.json $PY -u benchmark/run_e2e.py ... --fused ... --output-json results/e2e_fused_maca.json # Phase 3 官方协议 bash run_official.sh bash run_official_rep.sh # Phase 2 调度器 $PY phase2_router/train_router.py --variant full # → results/router_full.pt $PY -u phase2_router/run_e2e_routed.py --mode routed --sample-every 64 \ --output-json phase2_router/results/e2e_phase2_routed_se64.json
完整参数与全部命令见 REPORT.md §7。
MIT
九源软件栈+沐曦 llama 算子实战营 exp6 成果:add+rms_norm 融合算子(maca_cpp)+ 自适应算子调度路由,在沐曦 MetaX C500 sGPU 上完成全链路验证。长协议端到端吞吐较 torch 基线 +10.6%、较 maca_cpp 基线 +2.3%;调度自愈 2.34×;25 项测试全绿;对 gollamago 官方仓库零修改。含完整代码、实验数据与报告。
版权所有:中国计算机学会技术支持:开源发展技术委员会 京ICP备13000930号-9 京公网安备 11010802047560号
gollamago exp6 — add+rms_norm 融合算子 + 自适应算子调度
九源软件栈 + 沐曦(MetaX)llama 算子实战营 exp6 成果仓库。在 沐曦 MetaX C500 sGPU 上完成全链路验证:
fused_add_rms_norm.maca+ pybind11 绑定)把 Llama 前向中的add + rms_norm融合为单 kernel,每个 forward 32 个融合点,{add+norm}类 kernel 数从 65 降到 33;运行时注册、对 gollamago 官方仓库零修改。核心数据速览
端到端吞吐(tokens/s,越长协议越接近真实负载)
compare_results.py4/4 通过)。调度器(Phase 2)
门槛记分卡(预注册,诚实记分)
8✓ / 3✗ + G 条件通过(✓*)。失败项均事先注册、事后归因:
测试
25 项单测全绿:
tests/17 项(内核数值正确性)+phase2_router/tests/8 项(路由缓存语义)。仓库结构
快速复现
环境(沐曦 MACA 工具链 +
/opt/conda/bin/python,模型 Llama-3.2-1B):完整参数与全部命令见 REPORT.md §7。
结论
License
MIT